StorageAccountArgs

data class StorageAccountArgs(val accessTier: Output<AccessTier>? = null, val accountName: Output<String>? = null, val allowBlobPublicAccess: Output<Boolean>? = null, val allowCrossTenantReplication: Output<Boolean>? = null, val allowSharedKeyAccess: Output<Boolean>? = null, val allowedCopyScope: Output<Either<String, AllowedCopyScope>>? = null, val azureFilesIdentityBasedAuthentication: Output<AzureFilesIdentityBasedAuthenticationArgs>? = null, val customDomain: Output<CustomDomainArgs>? = null, val defaultToOAuthAuthentication: Output<Boolean>? = null, val dnsEndpointType: Output<Either<String, DnsEndpointType>>? = null, val enableExtendedGroups: Output<Boolean>? = null, val enableHttpsTrafficOnly: Output<Boolean>? = null, val enableNfsV3: Output<Boolean>? = null, val encryption: Output<EncryptionArgs>? = null, val extendedLocation: Output<ExtendedLocationArgs>? = null, val identity: Output<IdentityArgs>? = null, val immutableStorageWithVersioning: Output<ImmutableStorageAccountArgs>? = null, val isHnsEnabled: Output<Boolean>? = null, val isLocalUserEnabled: Output<Boolean>? = null, val isSftpEnabled: Output<Boolean>? = null, val keyPolicy: Output<KeyPolicyArgs>? = null, val kind: Output<Either<String, Kind>>? = null, val largeFileSharesState: Output<Either<String, LargeFileSharesState>>? = null, val location: Output<String>? = null, val minimumTlsVersion: Output<Either<String, MinimumTlsVersion>>? = null, val networkRuleSet: Output<NetworkRuleSetArgs>? = null, val publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, val resourceGroupName: Output<String>? = null, val routingPreference: Output<RoutingPreferenceArgs>? = null, val sasPolicy: Output<SasPolicyArgs>? = null, val sku: Output<SkuArgs>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<StorageAccountArgs>

The storage account. Uses Azure REST API version 2024-01-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. Other available API versions: 2022-09-01, 2023-01-01, 2023-04-01, 2023-05-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native storage [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

NfsV3AccountCreate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
EnableExtendedGroups = true,
EnableHttpsTrafficOnly = false,
EnableNfsV3 = true,
IsHnsEnabled = true,
Kind = AzureNative.Storage.Kind.BlockBlobStorage,
Location = "eastus",
NetworkRuleSet = new AzureNative.Storage.Inputs.NetworkRuleSetArgs
{
Bypass = AzureNative.Storage.Bypass.AzureServices,
DefaultAction = AzureNative.Storage.DefaultAction.Allow,
IpRules = new() { },
VirtualNetworkRules = new[]
{
new AzureNative.Storage.Inputs.VirtualNetworkRuleArgs
{
VirtualNetworkResourceId = "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12",
},
},
},
ResourceGroupName = "res9101",
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Premium_LRS,
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
EnableExtendedGroups: pulumi.Bool(true),
EnableHttpsTrafficOnly: pulumi.Bool(false),
EnableNfsV3: pulumi.Bool(true),
IsHnsEnabled: pulumi.Bool(true),
Kind: pulumi.String(storage.KindBlockBlobStorage),
Location: pulumi.String("eastus"),
NetworkRuleSet: &storage.NetworkRuleSetArgs{
Bypass: pulumi.String(storage.BypassAzureServices),
DefaultAction: storage.DefaultActionAllow,
IpRules: storage.IPRuleArray{},
VirtualNetworkRules: storage.VirtualNetworkRuleArray{
&storage.VirtualNetworkRuleArgs{
VirtualNetworkResourceId: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12"),
},
},
},
ResourceGroupName: pulumi.String("res9101"),
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Premium_LRS),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.NetworkRuleSetArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.enableExtendedGroups(true)
.enableHttpsTrafficOnly(false)
.enableNfsV3(true)
.isHnsEnabled(true)
.kind("BlockBlobStorage")
.location("eastus")
.networkRuleSet(NetworkRuleSetArgs.builder()
.bypass("AzureServices")
.defaultAction("Allow")
.ipRules()
.virtualNetworkRules(VirtualNetworkRuleArgs.builder()
.virtualNetworkResourceId("/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12")
.build())
.build())
.resourceGroupName("res9101")
.sku(SkuArgs.builder()
.name("Premium_LRS")
.build())
.build());
}
}

StorageAccountCreate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowBlobPublicAccess = false,
AllowSharedKeyAccess = true,
DefaultToOAuthAuthentication = false,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
{
Name = "losangeles001",
Type = AzureNative.Storage.ExtendedLocationTypes.EdgeZone,
},
IsHnsEnabled = true,
IsSftpEnabled = true,
KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
{
KeyExpirationPeriodInDays = 20,
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
ResourceGroupName = "res9101",
RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
{
PublishInternetEndpoints = true,
PublishMicrosoftEndpoints = true,
RoutingChoice = AzureNative.Storage.RoutingChoice.MicrosoftRouting,
},
SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
{
ExpirationAction = AzureNative.Storage.ExpirationAction.Log,
SasExpirationPeriod = "1.15:59:59",
},
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowBlobPublicAccess: pulumi.Bool(false),
AllowSharedKeyAccess: pulumi.Bool(true),
DefaultToOAuthAuthentication: pulumi.Bool(false),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
ExtendedLocation: &storage.ExtendedLocationArgs{
Name: pulumi.String("losangeles001"),
Type: pulumi.String(storage.ExtendedLocationTypesEdgeZone),
},
IsHnsEnabled: pulumi.Bool(true),
IsSftpEnabled: pulumi.Bool(true),
KeyPolicy: &storage.KeyPolicyArgs{
KeyExpirationPeriodInDays: pulumi.Int(20),
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
ResourceGroupName: pulumi.String("res9101"),
RoutingPreference: &storage.RoutingPreferenceArgs{
PublishInternetEndpoints: pulumi.Bool(true),
PublishMicrosoftEndpoints: pulumi.Bool(true),
RoutingChoice: pulumi.String(storage.RoutingChoiceMicrosoftRouting),
},
SasPolicy: &storage.SasPolicyArgs{
ExpirationAction: pulumi.String(storage.ExpirationActionLog),
SasExpirationPeriod: pulumi.String("1.15:59:59"),
},
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.storage.inputs.KeyPolicyArgs;
import com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs;
import com.pulumi.azurenative.storage.inputs.SasPolicyArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowBlobPublicAccess(false)
.allowSharedKeyAccess(true)
.defaultToOAuthAuthentication(false)
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.extendedLocation(ExtendedLocationArgs.builder()
.name("losangeles001")
.type("EdgeZone")
.build())
.isHnsEnabled(true)
.isSftpEnabled(true)
.keyPolicy(KeyPolicyArgs.builder()
.keyExpirationPeriodInDays(20)
.build())
.kind("Storage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.resourceGroupName("res9101")
.routingPreference(RoutingPreferenceArgs.builder()
.publishInternetEndpoints(true)
.publishMicrosoftEndpoints(true)
.routingChoice("MicrosoftRouting")
.build())
.sasPolicy(SasPolicyArgs.builder()
.expirationAction("Log")
.sasExpirationPeriod("1.15:59:59")
.build())
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreateAllowedCopyScopeToAAD

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowBlobPublicAccess = false,
AllowSharedKeyAccess = true,
AllowedCopyScope = AzureNative.Storage.AllowedCopyScope.AAD,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
IsHnsEnabled = true,
KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
{
KeyExpirationPeriodInDays = 20,
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
ResourceGroupName = "res9101",
RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
{
PublishInternetEndpoints = true,
PublishMicrosoftEndpoints = true,
RoutingChoice = AzureNative.Storage.RoutingChoice.MicrosoftRouting,
},
SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
{
ExpirationAction = AzureNative.Storage.ExpirationAction.Log,
SasExpirationPeriod = "1.15:59:59",
},
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowBlobPublicAccess: pulumi.Bool(false),
AllowSharedKeyAccess: pulumi.Bool(true),
AllowedCopyScope: pulumi.String(storage.AllowedCopyScopeAAD),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
IsHnsEnabled: pulumi.Bool(true),
KeyPolicy: &storage.KeyPolicyArgs{
KeyExpirationPeriodInDays: pulumi.Int(20),
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
ResourceGroupName: pulumi.String("res9101"),
RoutingPreference: &storage.RoutingPreferenceArgs{
PublishInternetEndpoints: pulumi.Bool(true),
PublishMicrosoftEndpoints: pulumi.Bool(true),
RoutingChoice: pulumi.String(storage.RoutingChoiceMicrosoftRouting),
},
SasPolicy: &storage.SasPolicyArgs{
ExpirationAction: pulumi.String(storage.ExpirationActionLog),
SasExpirationPeriod: pulumi.String("1.15:59:59"),
},
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.KeyPolicyArgs;
import com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs;
import com.pulumi.azurenative.storage.inputs.SasPolicyArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowBlobPublicAccess(false)
.allowSharedKeyAccess(true)
.allowedCopyScope("AAD")
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.isHnsEnabled(true)
.keyPolicy(KeyPolicyArgs.builder()
.keyExpirationPeriodInDays(20)
.build())
.kind("Storage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.resourceGroupName("res9101")
.routingPreference(RoutingPreferenceArgs.builder()
.publishInternetEndpoints(true)
.publishMicrosoftEndpoints(true)
.routingChoice("MicrosoftRouting")
.build())
.sasPolicy(SasPolicyArgs.builder()
.expirationAction("Log")
.sasExpirationPeriod("1.15:59:59")
.build())
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreateAllowedCopyScopeToPrivateLink

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowBlobPublicAccess = false,
AllowSharedKeyAccess = true,
AllowedCopyScope = AzureNative.Storage.AllowedCopyScope.PrivateLink,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
IsHnsEnabled = true,
KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
{
KeyExpirationPeriodInDays = 20,
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
ResourceGroupName = "res9101",
RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
{
PublishInternetEndpoints = true,
PublishMicrosoftEndpoints = true,
RoutingChoice = AzureNative.Storage.RoutingChoice.MicrosoftRouting,
},
SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
{
ExpirationAction = AzureNative.Storage.ExpirationAction.Log,
SasExpirationPeriod = "1.15:59:59",
},
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowBlobPublicAccess: pulumi.Bool(false),
AllowSharedKeyAccess: pulumi.Bool(true),
AllowedCopyScope: pulumi.String(storage.AllowedCopyScopePrivateLink),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
IsHnsEnabled: pulumi.Bool(true),
KeyPolicy: &storage.KeyPolicyArgs{
KeyExpirationPeriodInDays: pulumi.Int(20),
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
ResourceGroupName: pulumi.String("res9101"),
RoutingPreference: &storage.RoutingPreferenceArgs{
PublishInternetEndpoints: pulumi.Bool(true),
PublishMicrosoftEndpoints: pulumi.Bool(true),
RoutingChoice: pulumi.String(storage.RoutingChoiceMicrosoftRouting),
},
SasPolicy: &storage.SasPolicyArgs{
ExpirationAction: pulumi.String(storage.ExpirationActionLog),
SasExpirationPeriod: pulumi.String("1.15:59:59"),
},
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.KeyPolicyArgs;
import com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs;
import com.pulumi.azurenative.storage.inputs.SasPolicyArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowBlobPublicAccess(false)
.allowSharedKeyAccess(true)
.allowedCopyScope("PrivateLink")
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.isHnsEnabled(true)
.keyPolicy(KeyPolicyArgs.builder()
.keyExpirationPeriodInDays(20)
.build())
.kind("Storage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.resourceGroupName("res9101")
.routingPreference(RoutingPreferenceArgs.builder()
.publishInternetEndpoints(true)
.publishMicrosoftEndpoints(true)
.routingChoice("MicrosoftRouting")
.build())
.sasPolicy(SasPolicyArgs.builder()
.expirationAction("Log")
.sasExpirationPeriod("1.15:59:59")
.build())
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreateDisallowPublicNetworkAccess

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowBlobPublicAccess = false,
AllowSharedKeyAccess = true,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
{
Name = "losangeles001",
Type = AzureNative.Storage.ExtendedLocationTypes.EdgeZone,
},
IsHnsEnabled = true,
KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
{
KeyExpirationPeriodInDays = 20,
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
PublicNetworkAccess = AzureNative.Storage.PublicNetworkAccess.Disabled,
ResourceGroupName = "res9101",
RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
{
PublishInternetEndpoints = true,
PublishMicrosoftEndpoints = true,
RoutingChoice = AzureNative.Storage.RoutingChoice.MicrosoftRouting,
},
SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
{
ExpirationAction = AzureNative.Storage.ExpirationAction.Log,
SasExpirationPeriod = "1.15:59:59",
},
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowBlobPublicAccess: pulumi.Bool(false),
AllowSharedKeyAccess: pulumi.Bool(true),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
ExtendedLocation: &storage.ExtendedLocationArgs{
Name: pulumi.String("losangeles001"),
Type: pulumi.String(storage.ExtendedLocationTypesEdgeZone),
},
IsHnsEnabled: pulumi.Bool(true),
KeyPolicy: &storage.KeyPolicyArgs{
KeyExpirationPeriodInDays: pulumi.Int(20),
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
PublicNetworkAccess: pulumi.String(storage.PublicNetworkAccessDisabled),
ResourceGroupName: pulumi.String("res9101"),
RoutingPreference: &storage.RoutingPreferenceArgs{
PublishInternetEndpoints: pulumi.Bool(true),
PublishMicrosoftEndpoints: pulumi.Bool(true),
RoutingChoice: pulumi.String(storage.RoutingChoiceMicrosoftRouting),
},
SasPolicy: &storage.SasPolicyArgs{
ExpirationAction: pulumi.String(storage.ExpirationActionLog),
SasExpirationPeriod: pulumi.String("1.15:59:59"),
},
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.storage.inputs.KeyPolicyArgs;
import com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs;
import com.pulumi.azurenative.storage.inputs.SasPolicyArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowBlobPublicAccess(false)
.allowSharedKeyAccess(true)
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.extendedLocation(ExtendedLocationArgs.builder()
.name("losangeles001")
.type("EdgeZone")
.build())
.isHnsEnabled(true)
.keyPolicy(KeyPolicyArgs.builder()
.keyExpirationPeriodInDays(20)
.build())
.kind("Storage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.publicNetworkAccess("Disabled")
.resourceGroupName("res9101")
.routingPreference(RoutingPreferenceArgs.builder()
.publishInternetEndpoints(true)
.publishMicrosoftEndpoints(true)
.routingChoice("MicrosoftRouting")
.build())
.sasPolicy(SasPolicyArgs.builder()
.expirationAction("Log")
.sasExpirationPeriod("1.15:59:59")
.build())
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreateDnsEndpointTypeToAzureDnsZone

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowBlobPublicAccess = false,
AllowSharedKeyAccess = true,
DefaultToOAuthAuthentication = false,
DnsEndpointType = AzureNative.Storage.DnsEndpointType.AzureDnsZone,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
{
Name = "losangeles001",
Type = AzureNative.Storage.ExtendedLocationTypes.EdgeZone,
},
IsHnsEnabled = true,
IsSftpEnabled = true,
KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
{
KeyExpirationPeriodInDays = 20,
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
ResourceGroupName = "res9101",
RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
{
PublishInternetEndpoints = true,
PublishMicrosoftEndpoints = true,
RoutingChoice = AzureNative.Storage.RoutingChoice.MicrosoftRouting,
},
SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
{
ExpirationAction = AzureNative.Storage.ExpirationAction.Log,
SasExpirationPeriod = "1.15:59:59",
},
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowBlobPublicAccess: pulumi.Bool(false),
AllowSharedKeyAccess: pulumi.Bool(true),
DefaultToOAuthAuthentication: pulumi.Bool(false),
DnsEndpointType: pulumi.String(storage.DnsEndpointTypeAzureDnsZone),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
ExtendedLocation: &storage.ExtendedLocationArgs{
Name: pulumi.String("losangeles001"),
Type: pulumi.String(storage.ExtendedLocationTypesEdgeZone),
},
IsHnsEnabled: pulumi.Bool(true),
IsSftpEnabled: pulumi.Bool(true),
KeyPolicy: &storage.KeyPolicyArgs{
KeyExpirationPeriodInDays: pulumi.Int(20),
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
ResourceGroupName: pulumi.String("res9101"),
RoutingPreference: &storage.RoutingPreferenceArgs{
PublishInternetEndpoints: pulumi.Bool(true),
PublishMicrosoftEndpoints: pulumi.Bool(true),
RoutingChoice: pulumi.String(storage.RoutingChoiceMicrosoftRouting),
},
SasPolicy: &storage.SasPolicyArgs{
ExpirationAction: pulumi.String(storage.ExpirationActionLog),
SasExpirationPeriod: pulumi.String("1.15:59:59"),
},
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.storage.inputs.KeyPolicyArgs;
import com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs;
import com.pulumi.azurenative.storage.inputs.SasPolicyArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowBlobPublicAccess(false)
.allowSharedKeyAccess(true)
.defaultToOAuthAuthentication(false)
.dnsEndpointType("AzureDnsZone")
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.extendedLocation(ExtendedLocationArgs.builder()
.name("losangeles001")
.type("EdgeZone")
.build())
.isHnsEnabled(true)
.isSftpEnabled(true)
.keyPolicy(KeyPolicyArgs.builder()
.keyExpirationPeriodInDays(20)
.build())
.kind("Storage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.resourceGroupName("res9101")
.routingPreference(RoutingPreferenceArgs.builder()
.publishInternetEndpoints(true)
.publishMicrosoftEndpoints(true)
.routingChoice("MicrosoftRouting")
.build())
.sasPolicy(SasPolicyArgs.builder()
.expirationAction("Log")
.sasExpirationPeriod("1.15:59:59")
.build())
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreateDnsEndpointTypeToStandard

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowBlobPublicAccess = false,
AllowSharedKeyAccess = true,
DefaultToOAuthAuthentication = false,
DnsEndpointType = AzureNative.Storage.DnsEndpointType.Standard,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
{
Name = "losangeles001",
Type = AzureNative.Storage.ExtendedLocationTypes.EdgeZone,
},
IsHnsEnabled = true,
IsSftpEnabled = true,
KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
{
KeyExpirationPeriodInDays = 20,
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
ResourceGroupName = "res9101",
RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
{
PublishInternetEndpoints = true,
PublishMicrosoftEndpoints = true,
RoutingChoice = AzureNative.Storage.RoutingChoice.MicrosoftRouting,
},
SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
{
ExpirationAction = AzureNative.Storage.ExpirationAction.Log,
SasExpirationPeriod = "1.15:59:59",
},
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowBlobPublicAccess: pulumi.Bool(false),
AllowSharedKeyAccess: pulumi.Bool(true),
DefaultToOAuthAuthentication: pulumi.Bool(false),
DnsEndpointType: pulumi.String(storage.DnsEndpointTypeStandard),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
ExtendedLocation: &storage.ExtendedLocationArgs{
Name: pulumi.String("losangeles001"),
Type: pulumi.String(storage.ExtendedLocationTypesEdgeZone),
},
IsHnsEnabled: pulumi.Bool(true),
IsSftpEnabled: pulumi.Bool(true),
KeyPolicy: &storage.KeyPolicyArgs{
KeyExpirationPeriodInDays: pulumi.Int(20),
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
ResourceGroupName: pulumi.String("res9101"),
RoutingPreference: &storage.RoutingPreferenceArgs{
PublishInternetEndpoints: pulumi.Bool(true),
PublishMicrosoftEndpoints: pulumi.Bool(true),
RoutingChoice: pulumi.String(storage.RoutingChoiceMicrosoftRouting),
},
SasPolicy: &storage.SasPolicyArgs{
ExpirationAction: pulumi.String(storage.ExpirationActionLog),
SasExpirationPeriod: pulumi.String("1.15:59:59"),
},
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.storage.inputs.KeyPolicyArgs;
import com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs;
import com.pulumi.azurenative.storage.inputs.SasPolicyArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowBlobPublicAccess(false)
.allowSharedKeyAccess(true)
.defaultToOAuthAuthentication(false)
.dnsEndpointType("Standard")
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.extendedLocation(ExtendedLocationArgs.builder()
.name("losangeles001")
.type("EdgeZone")
.build())
.isHnsEnabled(true)
.isSftpEnabled(true)
.keyPolicy(KeyPolicyArgs.builder()
.keyExpirationPeriodInDays(20)
.build())
.kind("Storage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.resourceGroupName("res9101")
.routingPreference(RoutingPreferenceArgs.builder()
.publishInternetEndpoints(true)
.publishMicrosoftEndpoints(true)
.routingChoice("MicrosoftRouting")
.build())
.sasPolicy(SasPolicyArgs.builder()
.expirationAction("Log")
.sasExpirationPeriod("1.15:59:59")
.build())
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreateEnablePublicNetworkAccess

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowBlobPublicAccess = false,
AllowSharedKeyAccess = true,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
{
Name = "losangeles001",
Type = AzureNative.Storage.ExtendedLocationTypes.EdgeZone,
},
IsHnsEnabled = true,
KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
{
KeyExpirationPeriodInDays = 20,
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
PublicNetworkAccess = AzureNative.Storage.PublicNetworkAccess.Enabled,
ResourceGroupName = "res9101",
RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
{
PublishInternetEndpoints = true,
PublishMicrosoftEndpoints = true,
RoutingChoice = AzureNative.Storage.RoutingChoice.MicrosoftRouting,
},
SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
{
ExpirationAction = AzureNative.Storage.ExpirationAction.Log,
SasExpirationPeriod = "1.15:59:59",
},
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowBlobPublicAccess: pulumi.Bool(false),
AllowSharedKeyAccess: pulumi.Bool(true),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
ExtendedLocation: &storage.ExtendedLocationArgs{
Name: pulumi.String("losangeles001"),
Type: pulumi.String(storage.ExtendedLocationTypesEdgeZone),
},
IsHnsEnabled: pulumi.Bool(true),
KeyPolicy: &storage.KeyPolicyArgs{
KeyExpirationPeriodInDays: pulumi.Int(20),
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
PublicNetworkAccess: pulumi.String(storage.PublicNetworkAccessEnabled),
ResourceGroupName: pulumi.String("res9101"),
RoutingPreference: &storage.RoutingPreferenceArgs{
PublishInternetEndpoints: pulumi.Bool(true),
PublishMicrosoftEndpoints: pulumi.Bool(true),
RoutingChoice: pulumi.String(storage.RoutingChoiceMicrosoftRouting),
},
SasPolicy: &storage.SasPolicyArgs{
ExpirationAction: pulumi.String(storage.ExpirationActionLog),
SasExpirationPeriod: pulumi.String("1.15:59:59"),
},
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.storage.inputs.KeyPolicyArgs;
import com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs;
import com.pulumi.azurenative.storage.inputs.SasPolicyArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowBlobPublicAccess(false)
.allowSharedKeyAccess(true)
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.extendedLocation(ExtendedLocationArgs.builder()
.name("losangeles001")
.type("EdgeZone")
.build())
.isHnsEnabled(true)
.keyPolicy(KeyPolicyArgs.builder()
.keyExpirationPeriodInDays(20)
.build())
.kind("Storage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.publicNetworkAccess("Enabled")
.resourceGroupName("res9101")
.routingPreference(RoutingPreferenceArgs.builder()
.publishInternetEndpoints(true)
.publishMicrosoftEndpoints(true)
.routingChoice("MicrosoftRouting")
.build())
.sasPolicy(SasPolicyArgs.builder()
.expirationAction("Log")
.sasExpirationPeriod("1.15:59:59")
.build())
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreatePremiumBlockBlobStorage

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
AllowSharedKeyAccess = true,
Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
{
KeySource = AzureNative.Storage.KeySource.Microsoft_Storage,
RequireInfrastructureEncryption = false,
Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
{
Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
{
Enabled = true,
KeyType = AzureNative.Storage.KeyType.Account,
},
},
},
Kind = AzureNative.Storage.Kind.BlockBlobStorage,
Location = "eastus",
MinimumTlsVersion = AzureNative.Storage.MinimumTlsVersion.TLS1_2,
ResourceGroupName = "res9101",
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Premium_LRS,
},
Tags =
{
{ "key1", "value1" },
{ "key2", "value2" },
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
AllowSharedKeyAccess: pulumi.Bool(true),
Encryption: &storage.EncryptionArgs{
KeySource: pulumi.String(storage.KeySource_Microsoft_Storage),
RequireInfrastructureEncryption: pulumi.Bool(false),
Services: &storage.EncryptionServicesArgs{
Blob: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
File: &storage.EncryptionServiceArgs{
Enabled: pulumi.Bool(true),
KeyType: pulumi.String(storage.KeyTypeAccount),
},
},
},
Kind: pulumi.String(storage.KindBlockBlobStorage),
Location: pulumi.String("eastus"),
MinimumTlsVersion: pulumi.String(storage.MinimumTlsVersion_TLS1_2),
ResourceGroupName: pulumi.String("res9101"),
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Premium_LRS),
},
Tags: pulumi.StringMap{
"key1": pulumi.String("value1"),
"key2": pulumi.String("value2"),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServicesArgs;
import com.pulumi.azurenative.storage.inputs.EncryptionServiceArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.allowSharedKeyAccess(true)
.encryption(EncryptionArgs.builder()
.keySource("Microsoft.Storage")
.requireInfrastructureEncryption(false)
.services(EncryptionServicesArgs.builder()
.blob(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.file(EncryptionServiceArgs.builder()
.enabled(true)
.keyType("Account")
.build())
.build())
.build())
.kind("BlockBlobStorage")
.location("eastus")
.minimumTlsVersion("TLS1_2")
.resourceGroupName("res9101")
.sku(SkuArgs.builder()
.name("Premium_LRS")
.build())
.tags(Map.ofEntries(
Map.entry("key1", "value1"),
Map.entry("key2", "value2")
))
.build());
}
}

StorageAccountCreateWithImmutabilityPolicy

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var storageAccount = new AzureNative.Storage.StorageAccount("storageAccount", new()
{
AccountName = "sto4445",
ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
{
Name = "losangeles001",
Type = AzureNative.Storage.ExtendedLocationTypes.EdgeZone,
},
ImmutableStorageWithVersioning = new AzureNative.Storage.Inputs.ImmutableStorageAccountArgs
{
Enabled = true,
ImmutabilityPolicy = new AzureNative.Storage.Inputs.AccountImmutabilityPolicyPropertiesArgs
{
AllowProtectedAppendWrites = true,
ImmutabilityPeriodSinceCreationInDays = 15,
State = AzureNative.Storage.AccountImmutabilityPolicyState.Unlocked,
},
},
Kind = AzureNative.Storage.Kind.Storage,
Location = "eastus",
ResourceGroupName = "res9101",
Sku = new AzureNative.Storage.Inputs.SkuArgs
{
Name = AzureNative.Storage.SkuName.Standard_GRS,
},
});
});
package main
import (
storage "github.com/pulumi/pulumi-azure-native-sdk/storage/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := storage.NewStorageAccount(ctx, "storageAccount", &storage.StorageAccountArgs{
AccountName: pulumi.String("sto4445"),
ExtendedLocation: &storage.ExtendedLocationArgs{
Name: pulumi.String("losangeles001"),
Type: pulumi.String(storage.ExtendedLocationTypesEdgeZone),
},
ImmutableStorageWithVersioning: &storage.ImmutableStorageAccountArgs{
Enabled: pulumi.Bool(true),
ImmutabilityPolicy: &storage.AccountImmutabilityPolicyPropertiesArgs{
AllowProtectedAppendWrites: pulumi.Bool(true),
ImmutabilityPeriodSinceCreationInDays: pulumi.Int(15),
State: pulumi.String(storage.AccountImmutabilityPolicyStateUnlocked),
},
},
Kind: pulumi.String(storage.KindStorage),
Location: pulumi.String("eastus"),
ResourceGroupName: pulumi.String("res9101"),
Sku: &storage.SkuArgs{
Name: pulumi.String(storage.SkuName_Standard_GRS),
},
})
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.storage.StorageAccount;
import com.pulumi.azurenative.storage.StorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.storage.inputs.ImmutableStorageAccountArgs;
import com.pulumi.azurenative.storage.inputs.AccountImmutabilityPolicyPropertiesArgs;
import com.pulumi.azurenative.storage.inputs.SkuArgs;
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 storageAccount = new StorageAccount("storageAccount", StorageAccountArgs.builder()
.accountName("sto4445")
.extendedLocation(ExtendedLocationArgs.builder()
.name("losangeles001")
.type("EdgeZone")
.build())
.immutableStorageWithVersioning(ImmutableStorageAccountArgs.builder()
.enabled(true)
.immutabilityPolicy(AccountImmutabilityPolicyPropertiesArgs.builder()
.allowProtectedAppendWrites(true)
.immutabilityPeriodSinceCreationInDays(15)
.state("Unlocked")
.build())
.build())
.kind("Storage")
.location("eastus")
.resourceGroupName("res9101")
.sku(SkuArgs.builder()
.name("Standard_GRS")
.build())
.build());
}
}

Import

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

$ pulumi import azure-native:storage:StorageAccount sto4445 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}

Constructors

Link copied to clipboard
constructor(accessTier: Output<AccessTier>? = null, accountName: Output<String>? = null, allowBlobPublicAccess: Output<Boolean>? = null, allowCrossTenantReplication: Output<Boolean>? = null, allowSharedKeyAccess: Output<Boolean>? = null, allowedCopyScope: Output<Either<String, AllowedCopyScope>>? = null, azureFilesIdentityBasedAuthentication: Output<AzureFilesIdentityBasedAuthenticationArgs>? = null, customDomain: Output<CustomDomainArgs>? = null, defaultToOAuthAuthentication: Output<Boolean>? = null, dnsEndpointType: Output<Either<String, DnsEndpointType>>? = null, enableExtendedGroups: Output<Boolean>? = null, enableHttpsTrafficOnly: Output<Boolean>? = null, enableNfsV3: Output<Boolean>? = null, encryption: Output<EncryptionArgs>? = null, extendedLocation: Output<ExtendedLocationArgs>? = null, identity: Output<IdentityArgs>? = null, immutableStorageWithVersioning: Output<ImmutableStorageAccountArgs>? = null, isHnsEnabled: Output<Boolean>? = null, isLocalUserEnabled: Output<Boolean>? = null, isSftpEnabled: Output<Boolean>? = null, keyPolicy: Output<KeyPolicyArgs>? = null, kind: Output<Either<String, Kind>>? = null, largeFileSharesState: Output<Either<String, LargeFileSharesState>>? = null, location: Output<String>? = null, minimumTlsVersion: Output<Either<String, MinimumTlsVersion>>? = null, networkRuleSet: Output<NetworkRuleSetArgs>? = null, publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, resourceGroupName: Output<String>? = null, routingPreference: Output<RoutingPreferenceArgs>? = null, sasPolicy: Output<SasPolicyArgs>? = null, sku: Output<SkuArgs>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val accessTier: Output<AccessTier>? = null

Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type.

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

The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.

Link copied to clipboard
val allowBlobPublicAccess: Output<Boolean>? = null

Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is false for this property.

Link copied to clipboard

Allow or disallow cross AAD tenant object replication. Set this property to true for new or existing accounts only if object replication policies will involve storage accounts in different AAD tenants. The default interpretation is false for new accounts to follow best security practices by default.

Link copied to clipboard
val allowedCopyScope: Output<Either<String, AllowedCopyScope>>? = null

Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet.

Link copied to clipboard
val allowSharedKeyAccess: Output<Boolean>? = null

Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true.

Link copied to clipboard

Provides the identity based authentication settings for Azure Files.

Link copied to clipboard
val customDomain: Output<CustomDomainArgs>? = null

User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property.

Link copied to clipboard

A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property.

Link copied to clipboard
val dnsEndpointType: Output<Either<String, DnsEndpointType>>? = null

Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier.

Link copied to clipboard
val enableExtendedGroups: Output<Boolean>? = null

Enables extended group support with local users feature, if set to true

Link copied to clipboard
val enableHttpsTrafficOnly: Output<Boolean>? = null

Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01.

Link copied to clipboard
val enableNfsV3: Output<Boolean>? = null

NFS 3.0 protocol support enabled if set to true.

Link copied to clipboard
val encryption: Output<EncryptionArgs>? = null

Encryption settings to be used for server-side encryption for the storage account.

Link copied to clipboard

Optional. Set the extended location of the resource. If not set, the storage account will be created in Azure main region. Otherwise it will be created in the specified extended location

Link copied to clipboard
val identity: Output<IdentityArgs>? = null

The identity of the resource.

Link copied to clipboard

The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the new containers in the account by default.

Link copied to clipboard
val isHnsEnabled: Output<Boolean>? = null

Account HierarchicalNamespace enabled if sets to true.

Link copied to clipboard
val isLocalUserEnabled: Output<Boolean>? = null

Enables local users feature, if set to true

Link copied to clipboard
val isSftpEnabled: Output<Boolean>? = null

Enables Secure File Transfer Protocol, if set to true

Link copied to clipboard
val keyPolicy: Output<KeyPolicyArgs>? = null

KeyPolicy assigned to the storage account.

Link copied to clipboard
val kind: Output<Either<String, Kind>>? = null

Required. Indicates the type of storage account.

Link copied to clipboard
val largeFileSharesState: Output<Either<String, LargeFileSharesState>>? = null

Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled.

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

Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed.

Link copied to clipboard
val minimumTlsVersion: Output<Either<String, MinimumTlsVersion>>? = null

Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property.

Link copied to clipboard
val networkRuleSet: Output<NetworkRuleSetArgs>? = null

Network rule set

Link copied to clipboard
val publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null

Allow, disallow, or let Network Security Perimeter configuration to evaluate public network access to Storage Account. Value is optional but if passed in, must be 'Enabled', 'Disabled' or 'SecuredByPerimeter'.

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

The name of the resource group within the user's subscription. The name is case insensitive.

Link copied to clipboard

Maintains information about the network routing choice opted by the user for data transfer

Link copied to clipboard
val sasPolicy: Output<SasPolicyArgs>? = null

SasPolicy assigned to the storage account.

Link copied to clipboard
val sku: Output<SkuArgs>? = null

Required. Gets or sets the SKU name.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters.

Functions

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