1. Packages
  2. Azure Native
  3. API Docs
  4. storage
  5. StorageAccount
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.9.0 published on Wednesday, Sep 27, 2023 by Pulumi

azure-native.storage.StorageAccount

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.9.0 published on Wednesday, Sep 27, 2023 by Pulumi

    The storage account. Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2021-02-01

    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",
            EnableHttpsTrafficOnly = false,
            EnableNfsV3 = true,
            IsHnsEnabled = true,
            Kind = "BlockBlobStorage",
            Location = "eastus",
            NetworkRuleSet = new AzureNative.Storage.Inputs.NetworkRuleSetArgs
            {
                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 = "Premium_LRS",
            },
        });
    
    });
    
    package main
    
    import (
    	"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"),
    			EnableHttpsTrafficOnly: pulumi.Bool(false),
    			EnableNfsV3:            pulumi.Bool(true),
    			IsHnsEnabled:           pulumi.Bool(true),
    			Kind:                   pulumi.String("BlockBlobStorage"),
    			Location:               pulumi.String("eastus"),
    			NetworkRuleSet: storage.NetworkRuleSetResponse{
    				Bypass:        pulumi.String("AzureServices"),
    				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("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 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")
                .enableHttpsTrafficOnly(false)
                .enableNfsV3(true)
                .isHnsEnabled(true)
                .kind("BlockBlobStorage")
                .location("eastus")
                .networkRuleSet(Map.ofEntries(
                    Map.entry("bypass", "AzureServices"),
                    Map.entry("defaultAction", "Allow"),
                    Map.entry("ipRules", ),
                    Map.entry("virtualNetworkRules", Map.of("virtualNetworkResourceId", "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12"))
                ))
                .resourceGroupName("res9101")
                .sku(Map.of("name", "Premium_LRS"))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        enable_https_traffic_only=False,
        enable_nfs_v3=True,
        is_hns_enabled=True,
        kind="BlockBlobStorage",
        location="eastus",
        network_rule_set=azure_native.storage.NetworkRuleSetResponseArgs(
            bypass="AzureServices",
            default_action=azure_native.storage.DefaultAction.ALLOW,
            ip_rules=[],
            virtual_network_rules=[azure_native.storage.VirtualNetworkRuleArgs(
                virtual_network_resource_id="/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12",
            )],
        ),
        resource_group_name="res9101",
        sku=azure_native.storage.SkuArgs(
            name="Premium_LRS",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        enableHttpsTrafficOnly: false,
        enableNfsV3: true,
        isHnsEnabled: true,
        kind: "BlockBlobStorage",
        location: "eastus",
        networkRuleSet: {
            bypass: "AzureServices",
            defaultAction: azure_native.storage.DefaultAction.Allow,
            ipRules: [],
            virtualNetworkRules: [{
                virtualNetworkResourceId: "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12",
            }],
        },
        resourceGroupName: "res9101",
        sku: {
            name: "Premium_LRS",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          enableHttpsTrafficOnly: false
          enableNfsV3: true
          isHnsEnabled: true
          kind: BlockBlobStorage
          location: eastus
          networkRuleSet:
            bypass: AzureServices
            defaultAction: Allow
            ipRules: []
            virtualNetworkRules:
              - virtualNetworkResourceId: /subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12
          resourceGroupName: res9101
          sku:
            name: Premium_LRS
    

    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 = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
            {
                Name = "losangeles001",
                Type = "EdgeZone",
            },
            IsHnsEnabled = true,
            IsSftpEnabled = true,
            KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
            {
                KeyExpirationPeriodInDays = 20,
            },
            Kind = "Storage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            ResourceGroupName = "res9101",
            RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
            {
                PublishInternetEndpoints = true,
                PublishMicrosoftEndpoints = true,
                RoutingChoice = "MicrosoftRouting",
            },
            SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
            {
                ExpirationAction = "Log",
                SasExpirationPeriod = "1.15:59:59",
            },
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    ExtendedLocation: &storage.ExtendedLocationArgs{
    Name: pulumi.String("losangeles001"),
    Type: pulumi.String("EdgeZone"),
    },
    IsHnsEnabled: pulumi.Bool(true),
    IsSftpEnabled: pulumi.Bool(true),
    KeyPolicy: &storage.KeyPolicyArgs{
    KeyExpirationPeriodInDays: pulumi.Int(20),
    },
    Kind: pulumi.String("Storage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    ResourceGroupName: pulumi.String("res9101"),
    RoutingPreference: &storage.RoutingPreferenceArgs{
    PublishInternetEndpoints: pulumi.Bool(true),
    PublishMicrosoftEndpoints: pulumi.Bool(true),
    RoutingChoice: pulumi.String("MicrosoftRouting"),
    },
    SasPolicy: &storage.SasPolicyArgs{
    ExpirationAction: pulumi.String("Log"),
    SasExpirationPeriod: pulumi.String("1.15:59:59"),
    },
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .extendedLocation(Map.ofEntries(
                    Map.entry("name", "losangeles001"),
                    Map.entry("type", "EdgeZone")
                ))
                .isHnsEnabled(true)
                .isSftpEnabled(true)
                .keyPolicy(Map.of("keyExpirationPeriodInDays", 20))
                .kind("Storage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .resourceGroupName("res9101")
                .routingPreference(Map.ofEntries(
                    Map.entry("publishInternetEndpoints", true),
                    Map.entry("publishMicrosoftEndpoints", true),
                    Map.entry("routingChoice", "MicrosoftRouting")
                ))
                .sasPolicy(Map.ofEntries(
                    Map.entry("expirationAction", "Log"),
                    Map.entry("sasExpirationPeriod", "1.15:59:59")
                ))
                .sku(Map.of("name", "Standard_GRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_blob_public_access=False,
        allow_shared_key_access=True,
        default_to_o_auth_authentication=False,
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        extended_location=azure_native.storage.ExtendedLocationArgs(
            name="losangeles001",
            type="EdgeZone",
        ),
        is_hns_enabled=True,
        is_sftp_enabled=True,
        key_policy=azure_native.storage.KeyPolicyArgs(
            key_expiration_period_in_days=20,
        ),
        kind="Storage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        resource_group_name="res9101",
        routing_preference=azure_native.storage.RoutingPreferenceArgs(
            publish_internet_endpoints=True,
            publish_microsoft_endpoints=True,
            routing_choice="MicrosoftRouting",
        ),
        sas_policy=azure_native.storage.SasPolicyArgs(
            expiration_action="Log",
            sas_expiration_period="1.15:59:59",
        ),
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowBlobPublicAccess: false,
        allowSharedKeyAccess: true,
        defaultToOAuthAuthentication: false,
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        extendedLocation: {
            name: "losangeles001",
            type: "EdgeZone",
        },
        isHnsEnabled: true,
        isSftpEnabled: true,
        keyPolicy: {
            keyExpirationPeriodInDays: 20,
        },
        kind: "Storage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        resourceGroupName: "res9101",
        routingPreference: {
            publishInternetEndpoints: true,
            publishMicrosoftEndpoints: true,
            routingChoice: "MicrosoftRouting",
        },
        sasPolicy: {
            expirationAction: "Log",
            sasExpirationPeriod: "1.15:59:59",
        },
        sku: {
            name: "Standard_GRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowBlobPublicAccess: false
          allowSharedKeyAccess: true
          defaultToOAuthAuthentication: false
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          extendedLocation:
            name: losangeles001
            type: EdgeZone
          isHnsEnabled: true
          isSftpEnabled: true
          keyPolicy:
            keyExpirationPeriodInDays: 20
          kind: Storage
          location: eastus
          minimumTlsVersion: TLS1_2
          resourceGroupName: res9101
          routingPreference:
            publishInternetEndpoints: true
            publishMicrosoftEndpoints: true
            routingChoice: MicrosoftRouting
          sasPolicy:
            expirationAction: Log
            sasExpirationPeriod: 1.15:59:59
          sku:
            name: Standard_GRS
          tags:
            key1: value1
            key2: value2
    

    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 = "AAD",
            Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
            {
                KeySource = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            IsHnsEnabled = true,
            KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
            {
                KeyExpirationPeriodInDays = 20,
            },
            Kind = "Storage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            ResourceGroupName = "res9101",
            RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
            {
                PublishInternetEndpoints = true,
                PublishMicrosoftEndpoints = true,
                RoutingChoice = "MicrosoftRouting",
            },
            SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
            {
                ExpirationAction = "Log",
                SasExpirationPeriod = "1.15:59:59",
            },
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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("AAD"),
    Encryption: storage.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    IsHnsEnabled: pulumi.Bool(true),
    KeyPolicy: &storage.KeyPolicyArgs{
    KeyExpirationPeriodInDays: pulumi.Int(20),
    },
    Kind: pulumi.String("Storage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    ResourceGroupName: pulumi.String("res9101"),
    RoutingPreference: &storage.RoutingPreferenceArgs{
    PublishInternetEndpoints: pulumi.Bool(true),
    PublishMicrosoftEndpoints: pulumi.Bool(true),
    RoutingChoice: pulumi.String("MicrosoftRouting"),
    },
    SasPolicy: &storage.SasPolicyArgs{
    ExpirationAction: pulumi.String("Log"),
    SasExpirationPeriod: pulumi.String("1.15:59:59"),
    },
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .isHnsEnabled(true)
                .keyPolicy(Map.of("keyExpirationPeriodInDays", 20))
                .kind("Storage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .resourceGroupName("res9101")
                .routingPreference(Map.ofEntries(
                    Map.entry("publishInternetEndpoints", true),
                    Map.entry("publishMicrosoftEndpoints", true),
                    Map.entry("routingChoice", "MicrosoftRouting")
                ))
                .sasPolicy(Map.ofEntries(
                    Map.entry("expirationAction", "Log"),
                    Map.entry("sasExpirationPeriod", "1.15:59:59")
                ))
                .sku(Map.of("name", "Standard_GRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_blob_public_access=False,
        allow_shared_key_access=True,
        allowed_copy_scope="AAD",
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        is_hns_enabled=True,
        key_policy=azure_native.storage.KeyPolicyArgs(
            key_expiration_period_in_days=20,
        ),
        kind="Storage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        resource_group_name="res9101",
        routing_preference=azure_native.storage.RoutingPreferenceArgs(
            publish_internet_endpoints=True,
            publish_microsoft_endpoints=True,
            routing_choice="MicrosoftRouting",
        ),
        sas_policy=azure_native.storage.SasPolicyArgs(
            expiration_action="Log",
            sas_expiration_period="1.15:59:59",
        ),
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowBlobPublicAccess: false,
        allowSharedKeyAccess: true,
        allowedCopyScope: "AAD",
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        isHnsEnabled: true,
        keyPolicy: {
            keyExpirationPeriodInDays: 20,
        },
        kind: "Storage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        resourceGroupName: "res9101",
        routingPreference: {
            publishInternetEndpoints: true,
            publishMicrosoftEndpoints: true,
            routingChoice: "MicrosoftRouting",
        },
        sasPolicy: {
            expirationAction: "Log",
            sasExpirationPeriod: "1.15:59:59",
        },
        sku: {
            name: "Standard_GRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowBlobPublicAccess: false
          allowSharedKeyAccess: true
          allowedCopyScope: AAD
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          isHnsEnabled: true
          keyPolicy:
            keyExpirationPeriodInDays: 20
          kind: Storage
          location: eastus
          minimumTlsVersion: TLS1_2
          resourceGroupName: res9101
          routingPreference:
            publishInternetEndpoints: true
            publishMicrosoftEndpoints: true
            routingChoice: MicrosoftRouting
          sasPolicy:
            expirationAction: Log
            sasExpirationPeriod: 1.15:59:59
          sku:
            name: Standard_GRS
          tags:
            key1: value1
            key2: value2
    
    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 = "PrivateLink",
            Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
            {
                KeySource = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            IsHnsEnabled = true,
            KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
            {
                KeyExpirationPeriodInDays = 20,
            },
            Kind = "Storage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            ResourceGroupName = "res9101",
            RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
            {
                PublishInternetEndpoints = true,
                PublishMicrosoftEndpoints = true,
                RoutingChoice = "MicrosoftRouting",
            },
            SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
            {
                ExpirationAction = "Log",
                SasExpirationPeriod = "1.15:59:59",
            },
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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("PrivateLink"),
    Encryption: storage.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    IsHnsEnabled: pulumi.Bool(true),
    KeyPolicy: &storage.KeyPolicyArgs{
    KeyExpirationPeriodInDays: pulumi.Int(20),
    },
    Kind: pulumi.String("Storage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    ResourceGroupName: pulumi.String("res9101"),
    RoutingPreference: &storage.RoutingPreferenceArgs{
    PublishInternetEndpoints: pulumi.Bool(true),
    PublishMicrosoftEndpoints: pulumi.Bool(true),
    RoutingChoice: pulumi.String("MicrosoftRouting"),
    },
    SasPolicy: &storage.SasPolicyArgs{
    ExpirationAction: pulumi.String("Log"),
    SasExpirationPeriod: pulumi.String("1.15:59:59"),
    },
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .isHnsEnabled(true)
                .keyPolicy(Map.of("keyExpirationPeriodInDays", 20))
                .kind("Storage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .resourceGroupName("res9101")
                .routingPreference(Map.ofEntries(
                    Map.entry("publishInternetEndpoints", true),
                    Map.entry("publishMicrosoftEndpoints", true),
                    Map.entry("routingChoice", "MicrosoftRouting")
                ))
                .sasPolicy(Map.ofEntries(
                    Map.entry("expirationAction", "Log"),
                    Map.entry("sasExpirationPeriod", "1.15:59:59")
                ))
                .sku(Map.of("name", "Standard_GRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_blob_public_access=False,
        allow_shared_key_access=True,
        allowed_copy_scope="PrivateLink",
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        is_hns_enabled=True,
        key_policy=azure_native.storage.KeyPolicyArgs(
            key_expiration_period_in_days=20,
        ),
        kind="Storage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        resource_group_name="res9101",
        routing_preference=azure_native.storage.RoutingPreferenceArgs(
            publish_internet_endpoints=True,
            publish_microsoft_endpoints=True,
            routing_choice="MicrosoftRouting",
        ),
        sas_policy=azure_native.storage.SasPolicyArgs(
            expiration_action="Log",
            sas_expiration_period="1.15:59:59",
        ),
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowBlobPublicAccess: false,
        allowSharedKeyAccess: true,
        allowedCopyScope: "PrivateLink",
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        isHnsEnabled: true,
        keyPolicy: {
            keyExpirationPeriodInDays: 20,
        },
        kind: "Storage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        resourceGroupName: "res9101",
        routingPreference: {
            publishInternetEndpoints: true,
            publishMicrosoftEndpoints: true,
            routingChoice: "MicrosoftRouting",
        },
        sasPolicy: {
            expirationAction: "Log",
            sasExpirationPeriod: "1.15:59:59",
        },
        sku: {
            name: "Standard_GRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowBlobPublicAccess: false
          allowSharedKeyAccess: true
          allowedCopyScope: PrivateLink
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          isHnsEnabled: true
          keyPolicy:
            keyExpirationPeriodInDays: 20
          kind: Storage
          location: eastus
          minimumTlsVersion: TLS1_2
          resourceGroupName: res9101
          routingPreference:
            publishInternetEndpoints: true
            publishMicrosoftEndpoints: true
            routingChoice: MicrosoftRouting
          sasPolicy:
            expirationAction: Log
            sasExpirationPeriod: 1.15:59:59
          sku:
            name: Standard_GRS
          tags:
            key1: value1
            key2: value2
    

    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 = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
            {
                Name = "losangeles001",
                Type = "EdgeZone",
            },
            IsHnsEnabled = true,
            KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
            {
                KeyExpirationPeriodInDays = 20,
            },
            Kind = "Storage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            PublicNetworkAccess = "Disabled",
            ResourceGroupName = "res9101",
            RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
            {
                PublishInternetEndpoints = true,
                PublishMicrosoftEndpoints = true,
                RoutingChoice = "MicrosoftRouting",
            },
            SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
            {
                ExpirationAction = "Log",
                SasExpirationPeriod = "1.15:59:59",
            },
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    ExtendedLocation: &storage.ExtendedLocationArgs{
    Name: pulumi.String("losangeles001"),
    Type: pulumi.String("EdgeZone"),
    },
    IsHnsEnabled: pulumi.Bool(true),
    KeyPolicy: &storage.KeyPolicyArgs{
    KeyExpirationPeriodInDays: pulumi.Int(20),
    },
    Kind: pulumi.String("Storage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    PublicNetworkAccess: pulumi.String("Disabled"),
    ResourceGroupName: pulumi.String("res9101"),
    RoutingPreference: &storage.RoutingPreferenceArgs{
    PublishInternetEndpoints: pulumi.Bool(true),
    PublishMicrosoftEndpoints: pulumi.Bool(true),
    RoutingChoice: pulumi.String("MicrosoftRouting"),
    },
    SasPolicy: &storage.SasPolicyArgs{
    ExpirationAction: pulumi.String("Log"),
    SasExpirationPeriod: pulumi.String("1.15:59:59"),
    },
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .extendedLocation(Map.ofEntries(
                    Map.entry("name", "losangeles001"),
                    Map.entry("type", "EdgeZone")
                ))
                .isHnsEnabled(true)
                .keyPolicy(Map.of("keyExpirationPeriodInDays", 20))
                .kind("Storage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .publicNetworkAccess("Disabled")
                .resourceGroupName("res9101")
                .routingPreference(Map.ofEntries(
                    Map.entry("publishInternetEndpoints", true),
                    Map.entry("publishMicrosoftEndpoints", true),
                    Map.entry("routingChoice", "MicrosoftRouting")
                ))
                .sasPolicy(Map.ofEntries(
                    Map.entry("expirationAction", "Log"),
                    Map.entry("sasExpirationPeriod", "1.15:59:59")
                ))
                .sku(Map.of("name", "Standard_GRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_blob_public_access=False,
        allow_shared_key_access=True,
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        extended_location=azure_native.storage.ExtendedLocationArgs(
            name="losangeles001",
            type="EdgeZone",
        ),
        is_hns_enabled=True,
        key_policy=azure_native.storage.KeyPolicyArgs(
            key_expiration_period_in_days=20,
        ),
        kind="Storage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        public_network_access="Disabled",
        resource_group_name="res9101",
        routing_preference=azure_native.storage.RoutingPreferenceArgs(
            publish_internet_endpoints=True,
            publish_microsoft_endpoints=True,
            routing_choice="MicrosoftRouting",
        ),
        sas_policy=azure_native.storage.SasPolicyArgs(
            expiration_action="Log",
            sas_expiration_period="1.15:59:59",
        ),
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowBlobPublicAccess: false,
        allowSharedKeyAccess: true,
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        extendedLocation: {
            name: "losangeles001",
            type: "EdgeZone",
        },
        isHnsEnabled: true,
        keyPolicy: {
            keyExpirationPeriodInDays: 20,
        },
        kind: "Storage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        publicNetworkAccess: "Disabled",
        resourceGroupName: "res9101",
        routingPreference: {
            publishInternetEndpoints: true,
            publishMicrosoftEndpoints: true,
            routingChoice: "MicrosoftRouting",
        },
        sasPolicy: {
            expirationAction: "Log",
            sasExpirationPeriod: "1.15:59:59",
        },
        sku: {
            name: "Standard_GRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowBlobPublicAccess: false
          allowSharedKeyAccess: true
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          extendedLocation:
            name: losangeles001
            type: EdgeZone
          isHnsEnabled: true
          keyPolicy:
            keyExpirationPeriodInDays: 20
          kind: Storage
          location: eastus
          minimumTlsVersion: TLS1_2
          publicNetworkAccess: Disabled
          resourceGroupName: res9101
          routingPreference:
            publishInternetEndpoints: true
            publishMicrosoftEndpoints: true
            routingChoice: MicrosoftRouting
          sasPolicy:
            expirationAction: Log
            sasExpirationPeriod: 1.15:59:59
          sku:
            name: Standard_GRS
          tags:
            key1: value1
            key2: value2
    

    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 = "AzureDnsZone",
            Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
            {
                KeySource = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
            {
                Name = "losangeles001",
                Type = "EdgeZone",
            },
            IsHnsEnabled = true,
            IsSftpEnabled = true,
            KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
            {
                KeyExpirationPeriodInDays = 20,
            },
            Kind = "Storage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            ResourceGroupName = "res9101",
            RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
            {
                PublishInternetEndpoints = true,
                PublishMicrosoftEndpoints = true,
                RoutingChoice = "MicrosoftRouting",
            },
            SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
            {
                ExpirationAction = "Log",
                SasExpirationPeriod = "1.15:59:59",
            },
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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("AzureDnsZone"),
    Encryption: storage.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    ExtendedLocation: &storage.ExtendedLocationArgs{
    Name: pulumi.String("losangeles001"),
    Type: pulumi.String("EdgeZone"),
    },
    IsHnsEnabled: pulumi.Bool(true),
    IsSftpEnabled: pulumi.Bool(true),
    KeyPolicy: &storage.KeyPolicyArgs{
    KeyExpirationPeriodInDays: pulumi.Int(20),
    },
    Kind: pulumi.String("Storage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    ResourceGroupName: pulumi.String("res9101"),
    RoutingPreference: &storage.RoutingPreferenceArgs{
    PublishInternetEndpoints: pulumi.Bool(true),
    PublishMicrosoftEndpoints: pulumi.Bool(true),
    RoutingChoice: pulumi.String("MicrosoftRouting"),
    },
    SasPolicy: &storage.SasPolicyArgs{
    ExpirationAction: pulumi.String("Log"),
    SasExpirationPeriod: pulumi.String("1.15:59:59"),
    },
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .extendedLocation(Map.ofEntries(
                    Map.entry("name", "losangeles001"),
                    Map.entry("type", "EdgeZone")
                ))
                .isHnsEnabled(true)
                .isSftpEnabled(true)
                .keyPolicy(Map.of("keyExpirationPeriodInDays", 20))
                .kind("Storage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .resourceGroupName("res9101")
                .routingPreference(Map.ofEntries(
                    Map.entry("publishInternetEndpoints", true),
                    Map.entry("publishMicrosoftEndpoints", true),
                    Map.entry("routingChoice", "MicrosoftRouting")
                ))
                .sasPolicy(Map.ofEntries(
                    Map.entry("expirationAction", "Log"),
                    Map.entry("sasExpirationPeriod", "1.15:59:59")
                ))
                .sku(Map.of("name", "Standard_GRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_blob_public_access=False,
        allow_shared_key_access=True,
        default_to_o_auth_authentication=False,
        dns_endpoint_type="AzureDnsZone",
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        extended_location=azure_native.storage.ExtendedLocationArgs(
            name="losangeles001",
            type="EdgeZone",
        ),
        is_hns_enabled=True,
        is_sftp_enabled=True,
        key_policy=azure_native.storage.KeyPolicyArgs(
            key_expiration_period_in_days=20,
        ),
        kind="Storage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        resource_group_name="res9101",
        routing_preference=azure_native.storage.RoutingPreferenceArgs(
            publish_internet_endpoints=True,
            publish_microsoft_endpoints=True,
            routing_choice="MicrosoftRouting",
        ),
        sas_policy=azure_native.storage.SasPolicyArgs(
            expiration_action="Log",
            sas_expiration_period="1.15:59:59",
        ),
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowBlobPublicAccess: false,
        allowSharedKeyAccess: true,
        defaultToOAuthAuthentication: false,
        dnsEndpointType: "AzureDnsZone",
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        extendedLocation: {
            name: "losangeles001",
            type: "EdgeZone",
        },
        isHnsEnabled: true,
        isSftpEnabled: true,
        keyPolicy: {
            keyExpirationPeriodInDays: 20,
        },
        kind: "Storage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        resourceGroupName: "res9101",
        routingPreference: {
            publishInternetEndpoints: true,
            publishMicrosoftEndpoints: true,
            routingChoice: "MicrosoftRouting",
        },
        sasPolicy: {
            expirationAction: "Log",
            sasExpirationPeriod: "1.15:59:59",
        },
        sku: {
            name: "Standard_GRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowBlobPublicAccess: false
          allowSharedKeyAccess: true
          defaultToOAuthAuthentication: false
          dnsEndpointType: AzureDnsZone
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          extendedLocation:
            name: losangeles001
            type: EdgeZone
          isHnsEnabled: true
          isSftpEnabled: true
          keyPolicy:
            keyExpirationPeriodInDays: 20
          kind: Storage
          location: eastus
          minimumTlsVersion: TLS1_2
          resourceGroupName: res9101
          routingPreference:
            publishInternetEndpoints: true
            publishMicrosoftEndpoints: true
            routingChoice: MicrosoftRouting
          sasPolicy:
            expirationAction: Log
            sasExpirationPeriod: 1.15:59:59
          sku:
            name: Standard_GRS
          tags:
            key1: value1
            key2: value2
    

    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 = "Standard",
            Encryption = new AzureNative.Storage.Inputs.EncryptionArgs
            {
                KeySource = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
            {
                Name = "losangeles001",
                Type = "EdgeZone",
            },
            IsHnsEnabled = true,
            IsSftpEnabled = true,
            KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
            {
                KeyExpirationPeriodInDays = 20,
            },
            Kind = "Storage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            ResourceGroupName = "res9101",
            RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
            {
                PublishInternetEndpoints = true,
                PublishMicrosoftEndpoints = true,
                RoutingChoice = "MicrosoftRouting",
            },
            SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
            {
                ExpirationAction = "Log",
                SasExpirationPeriod = "1.15:59:59",
            },
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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("Standard"),
    Encryption: storage.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    ExtendedLocation: &storage.ExtendedLocationArgs{
    Name: pulumi.String("losangeles001"),
    Type: pulumi.String("EdgeZone"),
    },
    IsHnsEnabled: pulumi.Bool(true),
    IsSftpEnabled: pulumi.Bool(true),
    KeyPolicy: &storage.KeyPolicyArgs{
    KeyExpirationPeriodInDays: pulumi.Int(20),
    },
    Kind: pulumi.String("Storage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    ResourceGroupName: pulumi.String("res9101"),
    RoutingPreference: &storage.RoutingPreferenceArgs{
    PublishInternetEndpoints: pulumi.Bool(true),
    PublishMicrosoftEndpoints: pulumi.Bool(true),
    RoutingChoice: pulumi.String("MicrosoftRouting"),
    },
    SasPolicy: &storage.SasPolicyArgs{
    ExpirationAction: pulumi.String("Log"),
    SasExpirationPeriod: pulumi.String("1.15:59:59"),
    },
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .extendedLocation(Map.ofEntries(
                    Map.entry("name", "losangeles001"),
                    Map.entry("type", "EdgeZone")
                ))
                .isHnsEnabled(true)
                .isSftpEnabled(true)
                .keyPolicy(Map.of("keyExpirationPeriodInDays", 20))
                .kind("Storage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .resourceGroupName("res9101")
                .routingPreference(Map.ofEntries(
                    Map.entry("publishInternetEndpoints", true),
                    Map.entry("publishMicrosoftEndpoints", true),
                    Map.entry("routingChoice", "MicrosoftRouting")
                ))
                .sasPolicy(Map.ofEntries(
                    Map.entry("expirationAction", "Log"),
                    Map.entry("sasExpirationPeriod", "1.15:59:59")
                ))
                .sku(Map.of("name", "Standard_GRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_blob_public_access=False,
        allow_shared_key_access=True,
        default_to_o_auth_authentication=False,
        dns_endpoint_type="Standard",
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        extended_location=azure_native.storage.ExtendedLocationArgs(
            name="losangeles001",
            type="EdgeZone",
        ),
        is_hns_enabled=True,
        is_sftp_enabled=True,
        key_policy=azure_native.storage.KeyPolicyArgs(
            key_expiration_period_in_days=20,
        ),
        kind="Storage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        resource_group_name="res9101",
        routing_preference=azure_native.storage.RoutingPreferenceArgs(
            publish_internet_endpoints=True,
            publish_microsoft_endpoints=True,
            routing_choice="MicrosoftRouting",
        ),
        sas_policy=azure_native.storage.SasPolicyArgs(
            expiration_action="Log",
            sas_expiration_period="1.15:59:59",
        ),
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowBlobPublicAccess: false,
        allowSharedKeyAccess: true,
        defaultToOAuthAuthentication: false,
        dnsEndpointType: "Standard",
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        extendedLocation: {
            name: "losangeles001",
            type: "EdgeZone",
        },
        isHnsEnabled: true,
        isSftpEnabled: true,
        keyPolicy: {
            keyExpirationPeriodInDays: 20,
        },
        kind: "Storage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        resourceGroupName: "res9101",
        routingPreference: {
            publishInternetEndpoints: true,
            publishMicrosoftEndpoints: true,
            routingChoice: "MicrosoftRouting",
        },
        sasPolicy: {
            expirationAction: "Log",
            sasExpirationPeriod: "1.15:59:59",
        },
        sku: {
            name: "Standard_GRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowBlobPublicAccess: false
          allowSharedKeyAccess: true
          defaultToOAuthAuthentication: false
          dnsEndpointType: Standard
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          extendedLocation:
            name: losangeles001
            type: EdgeZone
          isHnsEnabled: true
          isSftpEnabled: true
          keyPolicy:
            keyExpirationPeriodInDays: 20
          kind: Storage
          location: eastus
          minimumTlsVersion: TLS1_2
          resourceGroupName: res9101
          routingPreference:
            publishInternetEndpoints: true
            publishMicrosoftEndpoints: true
            routingChoice: MicrosoftRouting
          sasPolicy:
            expirationAction: Log
            sasExpirationPeriod: 1.15:59:59
          sku:
            name: Standard_GRS
          tags:
            key1: value1
            key2: value2
    

    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 = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            ExtendedLocation = new AzureNative.Storage.Inputs.ExtendedLocationArgs
            {
                Name = "losangeles001",
                Type = "EdgeZone",
            },
            IsHnsEnabled = true,
            KeyPolicy = new AzureNative.Storage.Inputs.KeyPolicyArgs
            {
                KeyExpirationPeriodInDays = 20,
            },
            Kind = "Storage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            PublicNetworkAccess = "Enabled",
            ResourceGroupName = "res9101",
            RoutingPreference = new AzureNative.Storage.Inputs.RoutingPreferenceArgs
            {
                PublishInternetEndpoints = true,
                PublishMicrosoftEndpoints = true,
                RoutingChoice = "MicrosoftRouting",
            },
            SasPolicy = new AzureNative.Storage.Inputs.SasPolicyArgs
            {
                ExpirationAction = "Log",
                SasExpirationPeriod = "1.15:59:59",
            },
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    ExtendedLocation: &storage.ExtendedLocationArgs{
    Name: pulumi.String("losangeles001"),
    Type: pulumi.String("EdgeZone"),
    },
    IsHnsEnabled: pulumi.Bool(true),
    KeyPolicy: &storage.KeyPolicyArgs{
    KeyExpirationPeriodInDays: pulumi.Int(20),
    },
    Kind: pulumi.String("Storage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    PublicNetworkAccess: pulumi.String("Enabled"),
    ResourceGroupName: pulumi.String("res9101"),
    RoutingPreference: &storage.RoutingPreferenceArgs{
    PublishInternetEndpoints: pulumi.Bool(true),
    PublishMicrosoftEndpoints: pulumi.Bool(true),
    RoutingChoice: pulumi.String("MicrosoftRouting"),
    },
    SasPolicy: &storage.SasPolicyArgs{
    ExpirationAction: pulumi.String("Log"),
    SasExpirationPeriod: pulumi.String("1.15:59:59"),
    },
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .extendedLocation(Map.ofEntries(
                    Map.entry("name", "losangeles001"),
                    Map.entry("type", "EdgeZone")
                ))
                .isHnsEnabled(true)
                .keyPolicy(Map.of("keyExpirationPeriodInDays", 20))
                .kind("Storage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .publicNetworkAccess("Enabled")
                .resourceGroupName("res9101")
                .routingPreference(Map.ofEntries(
                    Map.entry("publishInternetEndpoints", true),
                    Map.entry("publishMicrosoftEndpoints", true),
                    Map.entry("routingChoice", "MicrosoftRouting")
                ))
                .sasPolicy(Map.ofEntries(
                    Map.entry("expirationAction", "Log"),
                    Map.entry("sasExpirationPeriod", "1.15:59:59")
                ))
                .sku(Map.of("name", "Standard_GRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_blob_public_access=False,
        allow_shared_key_access=True,
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        extended_location=azure_native.storage.ExtendedLocationArgs(
            name="losangeles001",
            type="EdgeZone",
        ),
        is_hns_enabled=True,
        key_policy=azure_native.storage.KeyPolicyArgs(
            key_expiration_period_in_days=20,
        ),
        kind="Storage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        public_network_access="Enabled",
        resource_group_name="res9101",
        routing_preference=azure_native.storage.RoutingPreferenceArgs(
            publish_internet_endpoints=True,
            publish_microsoft_endpoints=True,
            routing_choice="MicrosoftRouting",
        ),
        sas_policy=azure_native.storage.SasPolicyArgs(
            expiration_action="Log",
            sas_expiration_period="1.15:59:59",
        ),
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowBlobPublicAccess: false,
        allowSharedKeyAccess: true,
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        extendedLocation: {
            name: "losangeles001",
            type: "EdgeZone",
        },
        isHnsEnabled: true,
        keyPolicy: {
            keyExpirationPeriodInDays: 20,
        },
        kind: "Storage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        publicNetworkAccess: "Enabled",
        resourceGroupName: "res9101",
        routingPreference: {
            publishInternetEndpoints: true,
            publishMicrosoftEndpoints: true,
            routingChoice: "MicrosoftRouting",
        },
        sasPolicy: {
            expirationAction: "Log",
            sasExpirationPeriod: "1.15:59:59",
        },
        sku: {
            name: "Standard_GRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowBlobPublicAccess: false
          allowSharedKeyAccess: true
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          extendedLocation:
            name: losangeles001
            type: EdgeZone
          isHnsEnabled: true
          keyPolicy:
            keyExpirationPeriodInDays: 20
          kind: Storage
          location: eastus
          minimumTlsVersion: TLS1_2
          publicNetworkAccess: Enabled
          resourceGroupName: res9101
          routingPreference:
            publishInternetEndpoints: true
            publishMicrosoftEndpoints: true
            routingChoice: MicrosoftRouting
          sasPolicy:
            expirationAction: Log
            sasExpirationPeriod: 1.15:59:59
          sku:
            name: Standard_GRS
          tags:
            key1: value1
            key2: value2
    

    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 = "Microsoft.Storage",
                RequireInfrastructureEncryption = false,
                Services = new AzureNative.Storage.Inputs.EncryptionServicesArgs
                {
                    Blob = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                    File = new AzureNative.Storage.Inputs.EncryptionServiceArgs
                    {
                        Enabled = true,
                        KeyType = "Account",
                    },
                },
            },
            Kind = "BlockBlobStorage",
            Location = "eastus",
            MinimumTlsVersion = "TLS1_2",
            ResourceGroupName = "res9101",
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Premium_LRS",
            },
            Tags = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
        });
    
    });
    
    package main
    
    import (
    	"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.EncryptionResponse{
    KeySource: pulumi.String("Microsoft.Storage"),
    RequireInfrastructureEncryption: pulumi.Bool(false),
    Services: interface{}{
    Blob: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    File: &storage.EncryptionServiceArgs{
    Enabled: pulumi.Bool(true),
    KeyType: pulumi.String("Account"),
    },
    },
    },
    Kind: pulumi.String("BlockBlobStorage"),
    Location: pulumi.String("eastus"),
    MinimumTlsVersion: pulumi.String("TLS1_2"),
    ResourceGroupName: pulumi.String("res9101"),
    Sku: &storage.SkuArgs{
    Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("keySource", "Microsoft.Storage"),
                    Map.entry("requireInfrastructureEncryption", false),
                    Map.entry("services", Map.ofEntries(
                        Map.entry("blob", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        )),
                        Map.entry("file", Map.ofEntries(
                            Map.entry("enabled", true),
                            Map.entry("keyType", "Account")
                        ))
                    ))
                ))
                .kind("BlockBlobStorage")
                .location("eastus")
                .minimumTlsVersion("TLS1_2")
                .resourceGroupName("res9101")
                .sku(Map.of("name", "Premium_LRS"))
                .tags(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        allow_shared_key_access=True,
        encryption=azure_native.storage.EncryptionResponseArgs(
            key_source="Microsoft.Storage",
            require_infrastructure_encryption=False,
            services={
                "blob": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
                "file": azure_native.storage.EncryptionServiceArgs(
                    enabled=True,
                    key_type="Account",
                ),
            },
        ),
        kind="BlockBlobStorage",
        location="eastus",
        minimum_tls_version="TLS1_2",
        resource_group_name="res9101",
        sku=azure_native.storage.SkuArgs(
            name="Premium_LRS",
        ),
        tags={
            "key1": "value1",
            "key2": "value2",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        allowSharedKeyAccess: true,
        encryption: {
            keySource: "Microsoft.Storage",
            requireInfrastructureEncryption: false,
            services: {
                blob: {
                    enabled: true,
                    keyType: "Account",
                },
                file: {
                    enabled: true,
                    keyType: "Account",
                },
            },
        },
        kind: "BlockBlobStorage",
        location: "eastus",
        minimumTlsVersion: "TLS1_2",
        resourceGroupName: "res9101",
        sku: {
            name: "Premium_LRS",
        },
        tags: {
            key1: "value1",
            key2: "value2",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          allowSharedKeyAccess: true
          encryption:
            keySource: Microsoft.Storage
            requireInfrastructureEncryption: false
            services:
              blob:
                enabled: true
                keyType: Account
              file:
                enabled: true
                keyType: Account
          kind: BlockBlobStorage
          location: eastus
          minimumTlsVersion: TLS1_2
          resourceGroupName: res9101
          sku:
            name: Premium_LRS
          tags:
            key1: value1
            key2: value2
    

    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 = "EdgeZone",
            },
            ImmutableStorageWithVersioning = new AzureNative.Storage.Inputs.ImmutableStorageAccountArgs
            {
                Enabled = true,
                ImmutabilityPolicy = new AzureNative.Storage.Inputs.AccountImmutabilityPolicyPropertiesArgs
                {
                    AllowProtectedAppendWrites = true,
                    ImmutabilityPeriodSinceCreationInDays = 15,
                    State = "Unlocked",
                },
            },
            Kind = "Storage",
            Location = "eastus",
            ResourceGroupName = "res9101",
            Sku = new AzureNative.Storage.Inputs.SkuArgs
            {
                Name = "Standard_GRS",
            },
        });
    
    });
    
    package main
    
    import (
    	"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("EdgeZone"),
    			},
    			ImmutableStorageWithVersioning: storage.ImmutableStorageAccountResponse{
    				Enabled: pulumi.Bool(true),
    				ImmutabilityPolicy: &storage.AccountImmutabilityPolicyPropertiesArgs{
    					AllowProtectedAppendWrites:            pulumi.Bool(true),
    					ImmutabilityPeriodSinceCreationInDays: pulumi.Int(15),
    					State:                                 pulumi.String("Unlocked"),
    				},
    			},
    			Kind:              pulumi.String("Storage"),
    			Location:          pulumi.String("eastus"),
    			ResourceGroupName: pulumi.String("res9101"),
    			Sku: &storage.SkuArgs{
    				Name: pulumi.String("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 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(Map.ofEntries(
                    Map.entry("name", "losangeles001"),
                    Map.entry("type", "EdgeZone")
                ))
                .immutableStorageWithVersioning(Map.ofEntries(
                    Map.entry("enabled", true),
                    Map.entry("immutabilityPolicy", Map.ofEntries(
                        Map.entry("allowProtectedAppendWrites", true),
                        Map.entry("immutabilityPeriodSinceCreationInDays", 15),
                        Map.entry("state", "Unlocked")
                    ))
                ))
                .kind("Storage")
                .location("eastus")
                .resourceGroupName("res9101")
                .sku(Map.of("name", "Standard_GRS"))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    storage_account = azure_native.storage.StorageAccount("storageAccount",
        account_name="sto4445",
        extended_location=azure_native.storage.ExtendedLocationArgs(
            name="losangeles001",
            type="EdgeZone",
        ),
        immutable_storage_with_versioning=azure_native.storage.ImmutableStorageAccountResponseArgs(
            enabled=True,
            immutability_policy=azure_native.storage.AccountImmutabilityPolicyPropertiesArgs(
                allow_protected_append_writes=True,
                immutability_period_since_creation_in_days=15,
                state="Unlocked",
            ),
        ),
        kind="Storage",
        location="eastus",
        resource_group_name="res9101",
        sku=azure_native.storage.SkuArgs(
            name="Standard_GRS",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const storageAccount = new azure_native.storage.StorageAccount("storageAccount", {
        accountName: "sto4445",
        extendedLocation: {
            name: "losangeles001",
            type: "EdgeZone",
        },
        immutableStorageWithVersioning: {
            enabled: true,
            immutabilityPolicy: {
                allowProtectedAppendWrites: true,
                immutabilityPeriodSinceCreationInDays: 15,
                state: "Unlocked",
            },
        },
        kind: "Storage",
        location: "eastus",
        resourceGroupName: "res9101",
        sku: {
            name: "Standard_GRS",
        },
    });
    
    resources:
      storageAccount:
        type: azure-native:storage:StorageAccount
        properties:
          accountName: sto4445
          extendedLocation:
            name: losangeles001
            type: EdgeZone
          immutableStorageWithVersioning:
            enabled: true
            immutabilityPolicy:
              allowProtectedAppendWrites: true
              immutabilityPeriodSinceCreationInDays: 15
              state: Unlocked
          kind: Storage
          location: eastus
          resourceGroupName: res9101
          sku:
            name: Standard_GRS
    

    Create StorageAccount Resource

    new StorageAccount(name: string, args: StorageAccountArgs, opts?: CustomResourceOptions);
    @overload
    def StorageAccount(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       access_tier: Optional[AccessTier] = None,
                       account_name: Optional[str] = None,
                       allow_blob_public_access: Optional[bool] = None,
                       allow_cross_tenant_replication: Optional[bool] = None,
                       allow_shared_key_access: Optional[bool] = None,
                       allowed_copy_scope: Optional[Union[str, AllowedCopyScope]] = None,
                       azure_files_identity_based_authentication: Optional[AzureFilesIdentityBasedAuthenticationArgs] = None,
                       custom_domain: Optional[CustomDomainArgs] = None,
                       default_to_o_auth_authentication: Optional[bool] = None,
                       dns_endpoint_type: Optional[Union[str, DnsEndpointType]] = None,
                       enable_https_traffic_only: Optional[bool] = None,
                       enable_nfs_v3: Optional[bool] = None,
                       encryption: Optional[EncryptionArgs] = None,
                       extended_location: Optional[ExtendedLocationArgs] = None,
                       identity: Optional[IdentityArgs] = None,
                       immutable_storage_with_versioning: Optional[ImmutableStorageAccountArgs] = None,
                       is_hns_enabled: Optional[bool] = None,
                       is_local_user_enabled: Optional[bool] = None,
                       is_sftp_enabled: Optional[bool] = None,
                       key_policy: Optional[KeyPolicyArgs] = None,
                       kind: Optional[Union[str, Kind]] = None,
                       large_file_shares_state: Optional[Union[str, LargeFileSharesState]] = None,
                       location: Optional[str] = None,
                       minimum_tls_version: Optional[Union[str, MinimumTlsVersion]] = None,
                       network_rule_set: Optional[NetworkRuleSetArgs] = None,
                       public_network_access: Optional[Union[str, PublicNetworkAccess]] = None,
                       resource_group_name: Optional[str] = None,
                       routing_preference: Optional[RoutingPreferenceArgs] = None,
                       sas_policy: Optional[SasPolicyArgs] = None,
                       sku: Optional[SkuArgs] = None,
                       tags: Optional[Mapping[str, str]] = None)
    @overload
    def StorageAccount(resource_name: str,
                       args: StorageAccountArgs,
                       opts: Optional[ResourceOptions] = None)
    func NewStorageAccount(ctx *Context, name string, args StorageAccountArgs, opts ...ResourceOption) (*StorageAccount, error)
    public StorageAccount(string name, StorageAccountArgs args, CustomResourceOptions? opts = null)
    public StorageAccount(String name, StorageAccountArgs args)
    public StorageAccount(String name, StorageAccountArgs args, CustomResourceOptions options)
    
    type: azure-native:storage:StorageAccount
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args StorageAccountArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args StorageAccountArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args StorageAccountArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args StorageAccountArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args StorageAccountArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    StorageAccount Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The StorageAccount resource accepts the following input properties:

    Kind string | Pulumi.AzureNative.Storage.Kind

    Required. Indicates the type of storage account.

    ResourceGroupName string

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

    Sku Pulumi.AzureNative.Storage.Inputs.Sku

    Required. Gets or sets the SKU name.

    AccessTier Pulumi.AzureNative.Storage.AccessTier

    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.

    AccountName string

    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.

    AllowBlobPublicAccess bool

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

    AllowCrossTenantReplication bool

    Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property.

    AllowSharedKeyAccess bool

    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.

    AllowedCopyScope string | Pulumi.AzureNative.Storage.AllowedCopyScope

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

    AzureFilesIdentityBasedAuthentication Pulumi.AzureNative.Storage.Inputs.AzureFilesIdentityBasedAuthentication

    Provides the identity based authentication settings for Azure Files.

    CustomDomain Pulumi.AzureNative.Storage.Inputs.CustomDomain

    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.

    DefaultToOAuthAuthentication bool

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

    DnsEndpointType string | Pulumi.AzureNative.Storage.DnsEndpointType

    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.

    EnableHttpsTrafficOnly bool

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

    EnableNfsV3 bool

    NFS 3.0 protocol support enabled if set to true.

    Encryption Pulumi.AzureNative.Storage.Inputs.Encryption

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

    ExtendedLocation Pulumi.AzureNative.Storage.Inputs.ExtendedLocation

    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

    Identity Pulumi.AzureNative.Storage.Inputs.Identity

    The identity of the resource.

    ImmutableStorageWithVersioning Pulumi.AzureNative.Storage.Inputs.ImmutableStorageAccount

    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.

    IsHnsEnabled bool

    Account HierarchicalNamespace enabled if sets to true.

    IsLocalUserEnabled bool

    Enables local users feature, if set to true

    IsSftpEnabled bool

    Enables Secure File Transfer Protocol, if set to true

    KeyPolicy Pulumi.AzureNative.Storage.Inputs.KeyPolicy

    KeyPolicy assigned to the storage account.

    LargeFileSharesState string | Pulumi.AzureNative.Storage.LargeFileSharesState

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

    Location string

    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.

    MinimumTlsVersion string | Pulumi.AzureNative.Storage.MinimumTlsVersion

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

    NetworkRuleSet Pulumi.AzureNative.Storage.Inputs.NetworkRuleSet

    Network rule set

    PublicNetworkAccess string | Pulumi.AzureNative.Storage.PublicNetworkAccess

    Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.

    RoutingPreference Pulumi.AzureNative.Storage.Inputs.RoutingPreference

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

    SasPolicy Pulumi.AzureNative.Storage.Inputs.SasPolicy

    SasPolicy assigned to the storage account.

    Tags Dictionary<string, string>

    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.

    Kind string | Kind

    Required. Indicates the type of storage account.

    ResourceGroupName string

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

    Sku SkuArgs

    Required. Gets or sets the SKU name.

    AccessTier AccessTier

    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.

    AccountName string

    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.

    AllowBlobPublicAccess bool

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

    AllowCrossTenantReplication bool

    Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property.

    AllowSharedKeyAccess bool

    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.

    AllowedCopyScope string | AllowedCopyScope

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

    AzureFilesIdentityBasedAuthentication AzureFilesIdentityBasedAuthenticationArgs

    Provides the identity based authentication settings for Azure Files.

    CustomDomain CustomDomainArgs

    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.

    DefaultToOAuthAuthentication bool

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

    DnsEndpointType string | DnsEndpointType

    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.

    EnableHttpsTrafficOnly bool

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

    EnableNfsV3 bool

    NFS 3.0 protocol support enabled if set to true.

    Encryption EncryptionArgs

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

    ExtendedLocation ExtendedLocationArgs

    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

    Identity IdentityArgs

    The identity of the resource.

    ImmutableStorageWithVersioning ImmutableStorageAccountArgs

    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.

    IsHnsEnabled bool

    Account HierarchicalNamespace enabled if sets to true.

    IsLocalUserEnabled bool

    Enables local users feature, if set to true

    IsSftpEnabled bool

    Enables Secure File Transfer Protocol, if set to true

    KeyPolicy KeyPolicyArgs

    KeyPolicy assigned to the storage account.

    LargeFileSharesState string | LargeFileSharesState

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

    Location string

    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.

    MinimumTlsVersion string | MinimumTlsVersion

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

    NetworkRuleSet NetworkRuleSetArgs

    Network rule set

    PublicNetworkAccess string | PublicNetworkAccess

    Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.

    RoutingPreference RoutingPreferenceArgs

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

    SasPolicy SasPolicyArgs

    SasPolicy assigned to the storage account.

    Tags map[string]string

    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.

    kind String | Kind

    Required. Indicates the type of storage account.

    resourceGroupName String

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

    sku Sku

    Required. Gets or sets the SKU name.

    accessTier AccessTier

    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.

    accountName String

    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.

    allowBlobPublicAccess Boolean

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

    allowCrossTenantReplication Boolean

    Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property.

    allowSharedKeyAccess Boolean

    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.

    allowedCopyScope String | AllowedCopyScope

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

    azureFilesIdentityBasedAuthentication AzureFilesIdentityBasedAuthentication

    Provides the identity based authentication settings for Azure Files.

    customDomain CustomDomain

    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.

    defaultToOAuthAuthentication Boolean

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

    dnsEndpointType String | DnsEndpointType

    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.

    enableHttpsTrafficOnly Boolean

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

    enableNfsV3 Boolean

    NFS 3.0 protocol support enabled if set to true.

    encryption Encryption

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

    extendedLocation ExtendedLocation

    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

    identity Identity

    The identity of the resource.

    immutableStorageWithVersioning ImmutableStorageAccount

    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.

    isHnsEnabled Boolean

    Account HierarchicalNamespace enabled if sets to true.

    isLocalUserEnabled Boolean

    Enables local users feature, if set to true

    isSftpEnabled Boolean

    Enables Secure File Transfer Protocol, if set to true

    keyPolicy KeyPolicy

    KeyPolicy assigned to the storage account.

    largeFileSharesState String | LargeFileSharesState

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

    location String

    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.

    minimumTlsVersion String | MinimumTlsVersion

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

    networkRuleSet NetworkRuleSet

    Network rule set

    publicNetworkAccess String | PublicNetworkAccess

    Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.

    routingPreference RoutingPreference

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

    sasPolicy SasPolicy

    SasPolicy assigned to the storage account.

    tags Map<String,String>

    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.

    kind string | Kind

    Required. Indicates the type of storage account.

    resourceGroupName string

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

    sku Sku

    Required. Gets or sets the SKU name.

    accessTier AccessTier

    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.

    accountName string

    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.

    allowBlobPublicAccess boolean

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

    allowCrossTenantReplication boolean

    Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property.

    allowSharedKeyAccess boolean

    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.

    allowedCopyScope string | AllowedCopyScope

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

    azureFilesIdentityBasedAuthentication AzureFilesIdentityBasedAuthentication

    Provides the identity based authentication settings for Azure Files.

    customDomain CustomDomain

    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.

    defaultToOAuthAuthentication boolean

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

    dnsEndpointType string | DnsEndpointType

    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.

    enableHttpsTrafficOnly boolean

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

    enableNfsV3 boolean

    NFS 3.0 protocol support enabled if set to true.

    encryption Encryption

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

    extendedLocation ExtendedLocation

    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

    identity Identity

    The identity of the resource.

    immutableStorageWithVersioning ImmutableStorageAccount

    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.

    isHnsEnabled boolean

    Account HierarchicalNamespace enabled if sets to true.

    isLocalUserEnabled boolean

    Enables local users feature, if set to true

    isSftpEnabled boolean

    Enables Secure File Transfer Protocol, if set to true

    keyPolicy KeyPolicy

    KeyPolicy assigned to the storage account.

    largeFileSharesState string | LargeFileSharesState

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

    location string

    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.

    minimumTlsVersion string | MinimumTlsVersion

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

    networkRuleSet NetworkRuleSet

    Network rule set

    publicNetworkAccess string | PublicNetworkAccess

    Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.

    routingPreference RoutingPreference

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

    sasPolicy SasPolicy

    SasPolicy assigned to the storage account.

    tags {[key: string]: string}

    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.

    kind str | Kind

    Required. Indicates the type of storage account.

    resource_group_name str

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

    sku SkuArgs

    Required. Gets or sets the SKU name.

    access_tier AccessTier

    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.

    account_name str

    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.

    allow_blob_public_access bool

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

    allow_cross_tenant_replication bool

    Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property.

    allow_shared_key_access bool

    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.

    allowed_copy_scope str | AllowedCopyScope

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

    azure_files_identity_based_authentication AzureFilesIdentityBasedAuthenticationArgs

    Provides the identity based authentication settings for Azure Files.

    custom_domain CustomDomainArgs

    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.

    default_to_o_auth_authentication bool

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

    dns_endpoint_type str | DnsEndpointType

    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.

    enable_https_traffic_only bool

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

    enable_nfs_v3 bool

    NFS 3.0 protocol support enabled if set to true.

    encryption EncryptionArgs

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

    extended_location ExtendedLocationArgs

    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

    identity IdentityArgs

    The identity of the resource.

    immutable_storage_with_versioning ImmutableStorageAccountArgs

    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.

    is_hns_enabled bool

    Account HierarchicalNamespace enabled if sets to true.

    is_local_user_enabled bool

    Enables local users feature, if set to true

    is_sftp_enabled bool

    Enables Secure File Transfer Protocol, if set to true

    key_policy KeyPolicyArgs

    KeyPolicy assigned to the storage account.

    large_file_shares_state str | LargeFileSharesState

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

    location str

    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.

    minimum_tls_version str | MinimumTlsVersion

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

    network_rule_set NetworkRuleSetArgs

    Network rule set

    public_network_access str | PublicNetworkAccess

    Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.

    routing_preference RoutingPreferenceArgs

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

    sas_policy SasPolicyArgs

    SasPolicy assigned to the storage account.

    tags Mapping[str, str]

    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.

    kind String | "Storage" | "StorageV2" | "BlobStorage" | "FileStorage" | "BlockBlobStorage"

    Required. Indicates the type of storage account.

    resourceGroupName String

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

    sku Property Map

    Required. Gets or sets the SKU name.

    accessTier "Hot" | "Cool" | "Premium"

    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.

    accountName String

    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.

    allowBlobPublicAccess Boolean

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

    allowCrossTenantReplication Boolean

    Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property.

    allowSharedKeyAccess Boolean

    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.

    allowedCopyScope String | "PrivateLink" | "AAD"

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

    azureFilesIdentityBasedAuthentication Property Map

    Provides the identity based authentication settings for Azure Files.

    customDomain Property Map

    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.

    defaultToOAuthAuthentication Boolean

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

    dnsEndpointType String | "Standard" | "AzureDnsZone"

    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.

    enableHttpsTrafficOnly Boolean

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

    enableNfsV3 Boolean

    NFS 3.0 protocol support enabled if set to true.

    encryption Property Map

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

    extendedLocation Property Map

    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

    identity Property Map

    The identity of the resource.

    immutableStorageWithVersioning Property Map

    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.

    isHnsEnabled Boolean

    Account HierarchicalNamespace enabled if sets to true.

    isLocalUserEnabled Boolean

    Enables local users feature, if set to true

    isSftpEnabled Boolean

    Enables Secure File Transfer Protocol, if set to true

    keyPolicy Property Map

    KeyPolicy assigned to the storage account.

    largeFileSharesState String | "Disabled" | "Enabled"

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

    location String

    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.

    minimumTlsVersion String | "TLS1_0" | "TLS1_1" | "TLS1_2"

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

    networkRuleSet Property Map

    Network rule set

    publicNetworkAccess String | "Enabled" | "Disabled"

    Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.

    routingPreference Property Map

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

    sasPolicy Property Map

    SasPolicy assigned to the storage account.

    tags Map<String>

    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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the StorageAccount resource produces the following output properties:

    BlobRestoreStatus Pulumi.AzureNative.Storage.Outputs.BlobRestoreStatusResponse

    Blob restore status

    CreationTime string

    Gets the creation date and time of the storage account in UTC.

    FailoverInProgress bool

    If the failover is in progress, the value will be true, otherwise, it will be null.

    GeoReplicationStats Pulumi.AzureNative.Storage.Outputs.GeoReplicationStatsResponse

    Geo Replication Stats

    Id string

    The provider-assigned unique ID for this managed resource.

    KeyCreationTime Pulumi.AzureNative.Storage.Outputs.KeyCreationTimeResponse

    Storage account keys creation time.

    LastGeoFailoverTime string

    Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    Name string

    The name of the resource

    PrimaryEndpoints Pulumi.AzureNative.Storage.Outputs.EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint.

    PrimaryLocation string

    Gets the location of the primary data center for the storage account.

    PrivateEndpointConnections List<Pulumi.AzureNative.Storage.Outputs.PrivateEndpointConnectionResponse>

    List of private endpoint connection associated with the specified storage account

    ProvisioningState string

    Gets the status of the storage account at the time the operation was called.

    SecondaryEndpoints Pulumi.AzureNative.Storage.Outputs.EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS.

    SecondaryLocation string

    Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    StatusOfPrimary string

    Gets the status indicating whether the primary location of the storage account is available or unavailable.

    StatusOfSecondary string

    Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.

    Type string

    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    StorageAccountSkuConversionStatus Pulumi.AzureNative.Storage.Outputs.StorageAccountSkuConversionStatusResponse

    This property is readOnly and is set by server during asynchronous storage account sku conversion operations.

    BlobRestoreStatus BlobRestoreStatusResponse

    Blob restore status

    CreationTime string

    Gets the creation date and time of the storage account in UTC.

    FailoverInProgress bool

    If the failover is in progress, the value will be true, otherwise, it will be null.

    GeoReplicationStats GeoReplicationStatsResponse

    Geo Replication Stats

    Id string

    The provider-assigned unique ID for this managed resource.

    KeyCreationTime KeyCreationTimeResponse

    Storage account keys creation time.

    LastGeoFailoverTime string

    Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    Name string

    The name of the resource

    PrimaryEndpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint.

    PrimaryLocation string

    Gets the location of the primary data center for the storage account.

    PrivateEndpointConnections []PrivateEndpointConnectionResponse

    List of private endpoint connection associated with the specified storage account

    ProvisioningState string

    Gets the status of the storage account at the time the operation was called.

    SecondaryEndpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS.

    SecondaryLocation string

    Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    StatusOfPrimary string

    Gets the status indicating whether the primary location of the storage account is available or unavailable.

    StatusOfSecondary string

    Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.

    Type string

    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    StorageAccountSkuConversionStatus StorageAccountSkuConversionStatusResponse

    This property is readOnly and is set by server during asynchronous storage account sku conversion operations.

    blobRestoreStatus BlobRestoreStatusResponse

    Blob restore status

    creationTime String

    Gets the creation date and time of the storage account in UTC.

    failoverInProgress Boolean

    If the failover is in progress, the value will be true, otherwise, it will be null.

    geoReplicationStats GeoReplicationStatsResponse

    Geo Replication Stats

    id String

    The provider-assigned unique ID for this managed resource.

    keyCreationTime KeyCreationTimeResponse

    Storage account keys creation time.

    lastGeoFailoverTime String

    Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    name String

    The name of the resource

    primaryEndpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint.

    primaryLocation String

    Gets the location of the primary data center for the storage account.

    privateEndpointConnections List<PrivateEndpointConnectionResponse>

    List of private endpoint connection associated with the specified storage account

    provisioningState String

    Gets the status of the storage account at the time the operation was called.

    secondaryEndpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS.

    secondaryLocation String

    Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    statusOfPrimary String

    Gets the status indicating whether the primary location of the storage account is available or unavailable.

    statusOfSecondary String

    Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.

    type String

    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    storageAccountSkuConversionStatus StorageAccountSkuConversionStatusResponse

    This property is readOnly and is set by server during asynchronous storage account sku conversion operations.

    blobRestoreStatus BlobRestoreStatusResponse

    Blob restore status

    creationTime string

    Gets the creation date and time of the storage account in UTC.

    failoverInProgress boolean

    If the failover is in progress, the value will be true, otherwise, it will be null.

    geoReplicationStats GeoReplicationStatsResponse

    Geo Replication Stats

    id string

    The provider-assigned unique ID for this managed resource.

    keyCreationTime KeyCreationTimeResponse

    Storage account keys creation time.

    lastGeoFailoverTime string

    Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    name string

    The name of the resource

    primaryEndpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint.

    primaryLocation string

    Gets the location of the primary data center for the storage account.

    privateEndpointConnections PrivateEndpointConnectionResponse[]

    List of private endpoint connection associated with the specified storage account

    provisioningState string

    Gets the status of the storage account at the time the operation was called.

    secondaryEndpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS.

    secondaryLocation string

    Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    statusOfPrimary string

    Gets the status indicating whether the primary location of the storage account is available or unavailable.

    statusOfSecondary string

    Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.

    type string

    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    storageAccountSkuConversionStatus StorageAccountSkuConversionStatusResponse

    This property is readOnly and is set by server during asynchronous storage account sku conversion operations.

    blob_restore_status BlobRestoreStatusResponse

    Blob restore status

    creation_time str

    Gets the creation date and time of the storage account in UTC.

    failover_in_progress bool

    If the failover is in progress, the value will be true, otherwise, it will be null.

    geo_replication_stats GeoReplicationStatsResponse

    Geo Replication Stats

    id str

    The provider-assigned unique ID for this managed resource.

    key_creation_time KeyCreationTimeResponse

    Storage account keys creation time.

    last_geo_failover_time str

    Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    name str

    The name of the resource

    primary_endpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint.

    primary_location str

    Gets the location of the primary data center for the storage account.

    private_endpoint_connections Sequence[PrivateEndpointConnectionResponse]

    List of private endpoint connection associated with the specified storage account

    provisioning_state str

    Gets the status of the storage account at the time the operation was called.

    secondary_endpoints EndpointsResponse

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS.

    secondary_location str

    Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    status_of_primary str

    Gets the status indicating whether the primary location of the storage account is available or unavailable.

    status_of_secondary str

    Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.

    type str

    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    storage_account_sku_conversion_status StorageAccountSkuConversionStatusResponse

    This property is readOnly and is set by server during asynchronous storage account sku conversion operations.

    blobRestoreStatus Property Map

    Blob restore status

    creationTime String

    Gets the creation date and time of the storage account in UTC.

    failoverInProgress Boolean

    If the failover is in progress, the value will be true, otherwise, it will be null.

    geoReplicationStats Property Map

    Geo Replication Stats

    id String

    The provider-assigned unique ID for this managed resource.

    keyCreationTime Property Map

    Storage account keys creation time.

    lastGeoFailoverTime String

    Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    name String

    The name of the resource

    primaryEndpoints Property Map

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint.

    primaryLocation String

    Gets the location of the primary data center for the storage account.

    privateEndpointConnections List<Property Map>

    List of private endpoint connection associated with the specified storage account

    provisioningState String

    Gets the status of the storage account at the time the operation was called.

    secondaryEndpoints Property Map

    Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS.

    secondaryLocation String

    Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS.

    statusOfPrimary String

    Gets the status indicating whether the primary location of the storage account is available or unavailable.

    statusOfSecondary String

    Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.

    type String

    The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

    storageAccountSkuConversionStatus Property Map

    This property is readOnly and is set by server during asynchronous storage account sku conversion operations.

    Supporting Types

    AccessTier, AccessTierArgs

    Hot
    Hot
    Cool
    Cool
    Premium
    Premium
    AccessTierHot
    Hot
    AccessTierCool
    Cool
    AccessTierPremium
    Premium
    Hot
    Hot
    Cool
    Cool
    Premium
    Premium
    Hot
    Hot
    Cool
    Cool
    Premium
    Premium
    HOT
    Hot
    COOL
    Cool
    PREMIUM
    Premium
    "Hot"
    Hot
    "Cool"
    Cool
    "Premium"
    Premium

    AccountImmutabilityPolicyProperties, AccountImmutabilityPolicyPropertiesArgs

    AllowProtectedAppendWrites bool

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    ImmutabilityPeriodSinceCreationInDays int

    The immutability period for the blobs in the container since the policy creation, in days.

    State string | Pulumi.AzureNative.Storage.AccountImmutabilityPolicyState

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    AllowProtectedAppendWrites bool

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    ImmutabilityPeriodSinceCreationInDays int

    The immutability period for the blobs in the container since the policy creation, in days.

    State string | AccountImmutabilityPolicyState

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allowProtectedAppendWrites Boolean

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutabilityPeriodSinceCreationInDays Integer

    The immutability period for the blobs in the container since the policy creation, in days.

    state String | AccountImmutabilityPolicyState

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allowProtectedAppendWrites boolean

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutabilityPeriodSinceCreationInDays number

    The immutability period for the blobs in the container since the policy creation, in days.

    state string | AccountImmutabilityPolicyState

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allow_protected_append_writes bool

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutability_period_since_creation_in_days int

    The immutability period for the blobs in the container since the policy creation, in days.

    state str | AccountImmutabilityPolicyState

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allowProtectedAppendWrites Boolean

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutabilityPeriodSinceCreationInDays Number

    The immutability period for the blobs in the container since the policy creation, in days.

    state String | "Unlocked" | "Locked" | "Disabled"

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    AccountImmutabilityPolicyPropertiesResponse, AccountImmutabilityPolicyPropertiesResponseArgs

    AllowProtectedAppendWrites bool

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    ImmutabilityPeriodSinceCreationInDays int

    The immutability period for the blobs in the container since the policy creation, in days.

    State string

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    AllowProtectedAppendWrites bool

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    ImmutabilityPeriodSinceCreationInDays int

    The immutability period for the blobs in the container since the policy creation, in days.

    State string

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allowProtectedAppendWrites Boolean

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutabilityPeriodSinceCreationInDays Integer

    The immutability period for the blobs in the container since the policy creation, in days.

    state String

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allowProtectedAppendWrites boolean

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutabilityPeriodSinceCreationInDays number

    The immutability period for the blobs in the container since the policy creation, in days.

    state string

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allow_protected_append_writes bool

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutability_period_since_creation_in_days int

    The immutability period for the blobs in the container since the policy creation, in days.

    state str

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    allowProtectedAppendWrites Boolean

    This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.

    immutabilityPeriodSinceCreationInDays Number

    The immutability period for the blobs in the container since the policy creation, in days.

    state String

    The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.

    AccountImmutabilityPolicyState, AccountImmutabilityPolicyStateArgs

    Unlocked
    Unlocked
    Locked
    Locked
    Disabled
    Disabled
    AccountImmutabilityPolicyStateUnlocked
    Unlocked
    AccountImmutabilityPolicyStateLocked
    Locked
    AccountImmutabilityPolicyStateDisabled
    Disabled
    Unlocked
    Unlocked
    Locked
    Locked
    Disabled
    Disabled
    Unlocked
    Unlocked
    Locked
    Locked
    Disabled
    Disabled
    UNLOCKED
    Unlocked
    LOCKED
    Locked
    DISABLED
    Disabled
    "Unlocked"
    Unlocked
    "Locked"
    Locked
    "Disabled"
    Disabled

    AccountType, AccountTypeArgs

    User
    User
    Computer
    Computer
    AccountTypeUser
    User
    AccountTypeComputer
    Computer
    User
    User
    Computer
    Computer
    User
    User
    Computer
    Computer
    USER
    User
    COMPUTER
    Computer
    "User"
    User
    "Computer"
    Computer

    Action, ActionArgs

    Allow
    Allow
    ActionAllow
    Allow
    Allow
    Allow
    Allow
    Allow
    ALLOW
    Allow
    "Allow"
    Allow

    ActiveDirectoryProperties, ActiveDirectoryPropertiesArgs

    DomainGuid string

    Specifies the domain GUID.

    DomainName string

    Specifies the primary domain that the AD DNS server is authoritative for.

    AccountType string | Pulumi.AzureNative.Storage.AccountType

    Specifies the Active Directory account type for Azure Storage.

    AzureStorageSid string

    Specifies the security identifier (SID) for Azure Storage.

    DomainSid string

    Specifies the security identifier (SID).

    ForestName string

    Specifies the Active Directory forest to get.

    NetBiosDomainName string

    Specifies the NetBIOS domain name.

    SamAccountName string

    Specifies the Active Directory SAMAccountName for Azure Storage.

    DomainGuid string

    Specifies the domain GUID.

    DomainName string

    Specifies the primary domain that the AD DNS server is authoritative for.

    AccountType string | AccountType

    Specifies the Active Directory account type for Azure Storage.

    AzureStorageSid string

    Specifies the security identifier (SID) for Azure Storage.

    DomainSid string

    Specifies the security identifier (SID).

    ForestName string

    Specifies the Active Directory forest to get.

    NetBiosDomainName string

    Specifies the NetBIOS domain name.

    SamAccountName string

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domainGuid String

    Specifies the domain GUID.

    domainName String

    Specifies the primary domain that the AD DNS server is authoritative for.

    accountType String | AccountType

    Specifies the Active Directory account type for Azure Storage.

    azureStorageSid String

    Specifies the security identifier (SID) for Azure Storage.

    domainSid String

    Specifies the security identifier (SID).

    forestName String

    Specifies the Active Directory forest to get.

    netBiosDomainName String

    Specifies the NetBIOS domain name.

    samAccountName String

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domainGuid string

    Specifies the domain GUID.

    domainName string

    Specifies the primary domain that the AD DNS server is authoritative for.

    accountType string | AccountType

    Specifies the Active Directory account type for Azure Storage.

    azureStorageSid string

    Specifies the security identifier (SID) for Azure Storage.

    domainSid string

    Specifies the security identifier (SID).

    forestName string

    Specifies the Active Directory forest to get.

    netBiosDomainName string

    Specifies the NetBIOS domain name.

    samAccountName string

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domain_guid str

    Specifies the domain GUID.

    domain_name str

    Specifies the primary domain that the AD DNS server is authoritative for.

    account_type str | AccountType

    Specifies the Active Directory account type for Azure Storage.

    azure_storage_sid str

    Specifies the security identifier (SID) for Azure Storage.

    domain_sid str

    Specifies the security identifier (SID).

    forest_name str

    Specifies the Active Directory forest to get.

    net_bios_domain_name str

    Specifies the NetBIOS domain name.

    sam_account_name str

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domainGuid String

    Specifies the domain GUID.

    domainName String

    Specifies the primary domain that the AD DNS server is authoritative for.

    accountType String | "User" | "Computer"

    Specifies the Active Directory account type for Azure Storage.

    azureStorageSid String

    Specifies the security identifier (SID) for Azure Storage.

    domainSid String

    Specifies the security identifier (SID).

    forestName String

    Specifies the Active Directory forest to get.

    netBiosDomainName String

    Specifies the NetBIOS domain name.

    samAccountName String

    Specifies the Active Directory SAMAccountName for Azure Storage.

    ActiveDirectoryPropertiesResponse, ActiveDirectoryPropertiesResponseArgs

    DomainGuid string

    Specifies the domain GUID.

    DomainName string

    Specifies the primary domain that the AD DNS server is authoritative for.

    AccountType string

    Specifies the Active Directory account type for Azure Storage.

    AzureStorageSid string

    Specifies the security identifier (SID) for Azure Storage.

    DomainSid string

    Specifies the security identifier (SID).

    ForestName string

    Specifies the Active Directory forest to get.

    NetBiosDomainName string

    Specifies the NetBIOS domain name.

    SamAccountName string

    Specifies the Active Directory SAMAccountName for Azure Storage.

    DomainGuid string

    Specifies the domain GUID.

    DomainName string

    Specifies the primary domain that the AD DNS server is authoritative for.

    AccountType string

    Specifies the Active Directory account type for Azure Storage.

    AzureStorageSid string

    Specifies the security identifier (SID) for Azure Storage.

    DomainSid string

    Specifies the security identifier (SID).

    ForestName string

    Specifies the Active Directory forest to get.

    NetBiosDomainName string

    Specifies the NetBIOS domain name.

    SamAccountName string

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domainGuid String

    Specifies the domain GUID.

    domainName String

    Specifies the primary domain that the AD DNS server is authoritative for.

    accountType String

    Specifies the Active Directory account type for Azure Storage.

    azureStorageSid String

    Specifies the security identifier (SID) for Azure Storage.

    domainSid String

    Specifies the security identifier (SID).

    forestName String

    Specifies the Active Directory forest to get.

    netBiosDomainName String

    Specifies the NetBIOS domain name.

    samAccountName String

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domainGuid string

    Specifies the domain GUID.

    domainName string

    Specifies the primary domain that the AD DNS server is authoritative for.

    accountType string

    Specifies the Active Directory account type for Azure Storage.

    azureStorageSid string

    Specifies the security identifier (SID) for Azure Storage.

    domainSid string

    Specifies the security identifier (SID).

    forestName string

    Specifies the Active Directory forest to get.

    netBiosDomainName string

    Specifies the NetBIOS domain name.

    samAccountName string

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domain_guid str

    Specifies the domain GUID.

    domain_name str

    Specifies the primary domain that the AD DNS server is authoritative for.

    account_type str

    Specifies the Active Directory account type for Azure Storage.

    azure_storage_sid str

    Specifies the security identifier (SID) for Azure Storage.

    domain_sid str

    Specifies the security identifier (SID).

    forest_name str

    Specifies the Active Directory forest to get.

    net_bios_domain_name str

    Specifies the NetBIOS domain name.

    sam_account_name str

    Specifies the Active Directory SAMAccountName for Azure Storage.

    domainGuid String

    Specifies the domain GUID.

    domainName String

    Specifies the primary domain that the AD DNS server is authoritative for.

    accountType String

    Specifies the Active Directory account type for Azure Storage.

    azureStorageSid String

    Specifies the security identifier (SID) for Azure Storage.

    domainSid String

    Specifies the security identifier (SID).

    forestName String

    Specifies the Active Directory forest to get.

    netBiosDomainName String

    Specifies the NetBIOS domain name.

    samAccountName String

    Specifies the Active Directory SAMAccountName for Azure Storage.

    AllowedCopyScope, AllowedCopyScopeArgs

    PrivateLink
    PrivateLink
    AAD
    AAD
    AllowedCopyScopePrivateLink
    PrivateLink
    AllowedCopyScopeAAD
    AAD
    PrivateLink
    PrivateLink
    AAD
    AAD
    PrivateLink
    PrivateLink
    AAD
    AAD
    PRIVATE_LINK
    PrivateLink
    AAD
    AAD
    "PrivateLink"
    PrivateLink
    "AAD"
    AAD

    AzureFilesIdentityBasedAuthentication, AzureFilesIdentityBasedAuthenticationArgs

    DirectoryServiceOptions string | Pulumi.AzureNative.Storage.DirectoryServiceOptions

    Indicates the directory service used. Note that this enum may be extended in the future.

    ActiveDirectoryProperties Pulumi.AzureNative.Storage.Inputs.ActiveDirectoryProperties

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    DefaultSharePermission string | Pulumi.AzureNative.Storage.DefaultSharePermission

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    DirectoryServiceOptions string | DirectoryServiceOptions

    Indicates the directory service used. Note that this enum may be extended in the future.

    ActiveDirectoryProperties ActiveDirectoryProperties

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    DefaultSharePermission string | DefaultSharePermission

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directoryServiceOptions String | DirectoryServiceOptions

    Indicates the directory service used. Note that this enum may be extended in the future.

    activeDirectoryProperties ActiveDirectoryProperties

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    defaultSharePermission String | DefaultSharePermission

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directoryServiceOptions string | DirectoryServiceOptions

    Indicates the directory service used. Note that this enum may be extended in the future.

    activeDirectoryProperties ActiveDirectoryProperties

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    defaultSharePermission string | DefaultSharePermission

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directory_service_options str | DirectoryServiceOptions

    Indicates the directory service used. Note that this enum may be extended in the future.

    active_directory_properties ActiveDirectoryProperties

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    default_share_permission str | DefaultSharePermission

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directoryServiceOptions String | "None" | "AADDS" | "AD" | "AADKERB"

    Indicates the directory service used. Note that this enum may be extended in the future.

    activeDirectoryProperties Property Map

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    defaultSharePermission String | "None" | "StorageFileDataSmbShareReader" | "StorageFileDataSmbShareContributor" | "StorageFileDataSmbShareElevatedContributor"

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    AzureFilesIdentityBasedAuthenticationResponse, AzureFilesIdentityBasedAuthenticationResponseArgs

    DirectoryServiceOptions string

    Indicates the directory service used. Note that this enum may be extended in the future.

    ActiveDirectoryProperties Pulumi.AzureNative.Storage.Inputs.ActiveDirectoryPropertiesResponse

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    DefaultSharePermission string

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    DirectoryServiceOptions string

    Indicates the directory service used. Note that this enum may be extended in the future.

    ActiveDirectoryProperties ActiveDirectoryPropertiesResponse

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    DefaultSharePermission string

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directoryServiceOptions String

    Indicates the directory service used. Note that this enum may be extended in the future.

    activeDirectoryProperties ActiveDirectoryPropertiesResponse

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    defaultSharePermission String

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directoryServiceOptions string

    Indicates the directory service used. Note that this enum may be extended in the future.

    activeDirectoryProperties ActiveDirectoryPropertiesResponse

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    defaultSharePermission string

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directory_service_options str

    Indicates the directory service used. Note that this enum may be extended in the future.

    active_directory_properties ActiveDirectoryPropertiesResponse

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    default_share_permission str

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    directoryServiceOptions String

    Indicates the directory service used. Note that this enum may be extended in the future.

    activeDirectoryProperties Property Map

    Required if directoryServiceOptions are AD, optional if they are AADKERB.

    defaultSharePermission String

    Default share permission for users using Kerberos authentication if RBAC role is not assigned.

    BlobRestoreParametersResponse, BlobRestoreParametersResponseArgs

    BlobRanges List<Pulumi.AzureNative.Storage.Inputs.BlobRestoreRangeResponse>

    Blob ranges to restore.

    TimeToRestore string

    Restore blob to the specified time.

    BlobRanges []BlobRestoreRangeResponse

    Blob ranges to restore.

    TimeToRestore string

    Restore blob to the specified time.

    blobRanges List<BlobRestoreRangeResponse>

    Blob ranges to restore.

    timeToRestore String

    Restore blob to the specified time.

    blobRanges BlobRestoreRangeResponse[]

    Blob ranges to restore.

    timeToRestore string

    Restore blob to the specified time.

    blob_ranges Sequence[BlobRestoreRangeResponse]

    Blob ranges to restore.

    time_to_restore str

    Restore blob to the specified time.

    blobRanges List<Property Map>

    Blob ranges to restore.

    timeToRestore String

    Restore blob to the specified time.

    BlobRestoreRangeResponse, BlobRestoreRangeResponseArgs

    EndRange string

    Blob end range. This is exclusive. Empty means account end.

    StartRange string

    Blob start range. This is inclusive. Empty means account start.

    EndRange string

    Blob end range. This is exclusive. Empty means account end.

    StartRange string

    Blob start range. This is inclusive. Empty means account start.

    endRange String

    Blob end range. This is exclusive. Empty means account end.

    startRange String

    Blob start range. This is inclusive. Empty means account start.

    endRange string

    Blob end range. This is exclusive. Empty means account end.

    startRange string

    Blob start range. This is inclusive. Empty means account start.

    end_range str

    Blob end range. This is exclusive. Empty means account end.

    start_range str

    Blob start range. This is inclusive. Empty means account start.

    endRange String

    Blob end range. This is exclusive. Empty means account end.

    startRange String

    Blob start range. This is inclusive. Empty means account start.

    BlobRestoreStatusResponse, BlobRestoreStatusResponseArgs

    FailureReason string

    Failure reason when blob restore is failed.

    Parameters Pulumi.AzureNative.Storage.Inputs.BlobRestoreParametersResponse

    Blob restore request parameters.

    RestoreId string

    Id for tracking blob restore request.

    Status string

    The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.

    FailureReason string

    Failure reason when blob restore is failed.

    Parameters BlobRestoreParametersResponse

    Blob restore request parameters.

    RestoreId string

    Id for tracking blob restore request.

    Status string

    The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.

    failureReason String

    Failure reason when blob restore is failed.

    parameters BlobRestoreParametersResponse

    Blob restore request parameters.

    restoreId String

    Id for tracking blob restore request.

    status String

    The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.

    failureReason string

    Failure reason when blob restore is failed.

    parameters BlobRestoreParametersResponse

    Blob restore request parameters.

    restoreId string

    Id for tracking blob restore request.

    status string

    The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.

    failure_reason str

    Failure reason when blob restore is failed.

    parameters BlobRestoreParametersResponse

    Blob restore request parameters.

    restore_id str

    Id for tracking blob restore request.

    status str

    The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.

    failureReason String

    Failure reason when blob restore is failed.

    parameters Property Map

    Blob restore request parameters.

    restoreId String

    Id for tracking blob restore request.

    status String

    The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.

    Bypass, BypassArgs

    None
    None
    Logging
    Logging
    Metrics
    Metrics
    AzureServices
    AzureServices
    BypassNone
    None
    BypassLogging
    Logging
    BypassMetrics
    Metrics
    BypassAzureServices
    AzureServices
    None
    None
    Logging
    Logging
    Metrics
    Metrics
    AzureServices
    AzureServices
    None
    None
    Logging
    Logging
    Metrics
    Metrics
    AzureServices
    AzureServices
    NONE
    None
    LOGGING
    Logging
    METRICS
    Metrics
    AZURE_SERVICES
    AzureServices
    "None"
    None
    "Logging"
    Logging
    "Metrics"
    Metrics
    "AzureServices"
    AzureServices

    CustomDomain, CustomDomainArgs

    Name string

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    UseSubDomainName bool

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    Name string

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    UseSubDomainName bool

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name String

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    useSubDomainName Boolean

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name string

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    useSubDomainName boolean

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name str

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    use_sub_domain_name bool

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name String

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    useSubDomainName Boolean

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    CustomDomainResponse, CustomDomainResponseArgs

    Name string

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    UseSubDomainName bool

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    Name string

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    UseSubDomainName bool

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name String

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    useSubDomainName Boolean

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name string

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    useSubDomainName boolean

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name str

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    use_sub_domain_name bool

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    name String

    Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source.

    useSubDomainName Boolean

    Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates.

    DefaultAction, DefaultActionArgs

    Allow
    Allow
    Deny
    Deny
    DefaultActionAllow
    Allow
    DefaultActionDeny
    Deny
    Allow
    Allow
    Deny
    Deny
    Allow
    Allow
    Deny
    Deny
    ALLOW
    Allow
    DENY
    Deny
    "Allow"
    Allow
    "Deny"
    Deny

    DefaultSharePermission, DefaultSharePermissionArgs

    None
    None
    StorageFileDataSmbShareReader
    StorageFileDataSmbShareReader
    StorageFileDataSmbShareContributor
    StorageFileDataSmbShareContributor
    StorageFileDataSmbShareElevatedContributor
    StorageFileDataSmbShareElevatedContributor
    DefaultSharePermissionNone
    None
    DefaultSharePermissionStorageFileDataSmbShareReader
    StorageFileDataSmbShareReader
    DefaultSharePermissionStorageFileDataSmbShareContributor
    StorageFileDataSmbShareContributor
    DefaultSharePermissionStorageFileDataSmbShareElevatedContributor
    StorageFileDataSmbShareElevatedContributor
    None
    None
    StorageFileDataSmbShareReader
    StorageFileDataSmbShareReader
    StorageFileDataSmbShareContributor
    StorageFileDataSmbShareContributor
    StorageFileDataSmbShareElevatedContributor
    StorageFileDataSmbShareElevatedContributor
    None
    None
    StorageFileDataSmbShareReader
    StorageFileDataSmbShareReader
    StorageFileDataSmbShareContributor
    StorageFileDataSmbShareContributor
    StorageFileDataSmbShareElevatedContributor
    StorageFileDataSmbShareElevatedContributor
    NONE
    None
    STORAGE_FILE_DATA_SMB_SHARE_READER
    StorageFileDataSmbShareReader
    STORAGE_FILE_DATA_SMB_SHARE_CONTRIBUTOR
    StorageFileDataSmbShareContributor
    STORAGE_FILE_DATA_SMB_SHARE_ELEVATED_CONTRIBUTOR
    StorageFileDataSmbShareElevatedContributor
    "None"
    None
    "StorageFileDataSmbShareReader"
    StorageFileDataSmbShareReader
    "StorageFileDataSmbShareContributor"
    StorageFileDataSmbShareContributor
    "StorageFileDataSmbShareElevatedContributor"
    StorageFileDataSmbShareElevatedContributor

    DirectoryServiceOptions, DirectoryServiceOptionsArgs

    None
    None
    AADDS
    AADDS
    AD
    AD
    AADKERB
    AADKERB
    DirectoryServiceOptionsNone
    None
    DirectoryServiceOptionsAADDS
    AADDS
    DirectoryServiceOptionsAD
    AD
    DirectoryServiceOptionsAADKERB
    AADKERB
    None
    None
    AADDS
    AADDS
    AD
    AD
    AADKERB
    AADKERB
    None
    None
    AADDS
    AADDS
    AD
    AD
    AADKERB
    AADKERB
    NONE
    None
    AADDS
    AADDS
    AD
    AD
    AADKERB
    AADKERB
    "None"
    None
    "AADDS"
    AADDS
    "AD"
    AD
    "AADKERB"
    AADKERB

    DnsEndpointType, DnsEndpointTypeArgs

    Standard
    Standard
    AzureDnsZone
    AzureDnsZone
    DnsEndpointTypeStandard
    Standard
    DnsEndpointTypeAzureDnsZone
    AzureDnsZone
    Standard
    Standard
    AzureDnsZone
    AzureDnsZone
    Standard
    Standard
    AzureDnsZone
    AzureDnsZone
    STANDARD
    Standard
    AZURE_DNS_ZONE
    AzureDnsZone
    "Standard"
    Standard
    "AzureDnsZone"
    AzureDnsZone

    Encryption, EncryptionArgs

    EncryptionIdentity Pulumi.AzureNative.Storage.Inputs.EncryptionIdentity

    The identity to be used with service-side encryption at rest.

    KeySource string | Pulumi.AzureNative.Storage.KeySource

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    KeyVaultProperties Pulumi.AzureNative.Storage.Inputs.KeyVaultProperties

    Properties provided by key vault.

    RequireInfrastructureEncryption bool

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    Services Pulumi.AzureNative.Storage.Inputs.EncryptionServices

    List of services which support encryption.

    EncryptionIdentity EncryptionIdentity

    The identity to be used with service-side encryption at rest.

    KeySource string | KeySource

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    KeyVaultProperties KeyVaultProperties

    Properties provided by key vault.

    RequireInfrastructureEncryption bool

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    Services EncryptionServices

    List of services which support encryption.

    encryptionIdentity EncryptionIdentity

    The identity to be used with service-side encryption at rest.

    keySource String | KeySource

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    keyVaultProperties KeyVaultProperties

    Properties provided by key vault.

    requireInfrastructureEncryption Boolean

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services EncryptionServices

    List of services which support encryption.

    encryptionIdentity EncryptionIdentity

    The identity to be used with service-side encryption at rest.

    keySource string | KeySource

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    keyVaultProperties KeyVaultProperties

    Properties provided by key vault.

    requireInfrastructureEncryption boolean

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services EncryptionServices

    List of services which support encryption.

    encryption_identity EncryptionIdentity

    The identity to be used with service-side encryption at rest.

    key_source str | KeySource

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    key_vault_properties KeyVaultProperties

    Properties provided by key vault.

    require_infrastructure_encryption bool

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services EncryptionServices

    List of services which support encryption.

    encryptionIdentity Property Map

    The identity to be used with service-side encryption at rest.

    keySource String | "Microsoft.Storage" | "Microsoft.Keyvault"

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    keyVaultProperties Property Map

    Properties provided by key vault.

    requireInfrastructureEncryption Boolean

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services Property Map

    List of services which support encryption.

    EncryptionIdentity, EncryptionIdentityArgs

    EncryptionFederatedIdentityClientId string

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    EncryptionUserAssignedIdentity string

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    EncryptionFederatedIdentityClientId string

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    EncryptionUserAssignedIdentity string

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryptionFederatedIdentityClientId String

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryptionUserAssignedIdentity String

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryptionFederatedIdentityClientId string

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryptionUserAssignedIdentity string

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryption_federated_identity_client_id str

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryption_user_assigned_identity str

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryptionFederatedIdentityClientId String

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryptionUserAssignedIdentity String

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    EncryptionIdentityResponse, EncryptionIdentityResponseArgs

    EncryptionFederatedIdentityClientId string

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    EncryptionUserAssignedIdentity string

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    EncryptionFederatedIdentityClientId string

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    EncryptionUserAssignedIdentity string

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryptionFederatedIdentityClientId String

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryptionUserAssignedIdentity String

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryptionFederatedIdentityClientId string

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryptionUserAssignedIdentity string

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryption_federated_identity_client_id str

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryption_user_assigned_identity str

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    encryptionFederatedIdentityClientId String

    ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.

    encryptionUserAssignedIdentity String

    Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.

    EncryptionResponse, EncryptionResponseArgs

    EncryptionIdentity Pulumi.AzureNative.Storage.Inputs.EncryptionIdentityResponse

    The identity to be used with service-side encryption at rest.

    KeySource string

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    KeyVaultProperties Pulumi.AzureNative.Storage.Inputs.KeyVaultPropertiesResponse

    Properties provided by key vault.

    RequireInfrastructureEncryption bool

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    Services Pulumi.AzureNative.Storage.Inputs.EncryptionServicesResponse

    List of services which support encryption.

    EncryptionIdentity EncryptionIdentityResponse

    The identity to be used with service-side encryption at rest.

    KeySource string

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    KeyVaultProperties KeyVaultPropertiesResponse

    Properties provided by key vault.

    RequireInfrastructureEncryption bool

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    Services EncryptionServicesResponse

    List of services which support encryption.

    encryptionIdentity EncryptionIdentityResponse

    The identity to be used with service-side encryption at rest.

    keySource String

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    keyVaultProperties KeyVaultPropertiesResponse

    Properties provided by key vault.

    requireInfrastructureEncryption Boolean

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services EncryptionServicesResponse

    List of services which support encryption.

    encryptionIdentity EncryptionIdentityResponse

    The identity to be used with service-side encryption at rest.

    keySource string

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    keyVaultProperties KeyVaultPropertiesResponse

    Properties provided by key vault.

    requireInfrastructureEncryption boolean

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services EncryptionServicesResponse

    List of services which support encryption.

    encryption_identity EncryptionIdentityResponse

    The identity to be used with service-side encryption at rest.

    key_source str

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    key_vault_properties KeyVaultPropertiesResponse

    Properties provided by key vault.

    require_infrastructure_encryption bool

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services EncryptionServicesResponse

    List of services which support encryption.

    encryptionIdentity Property Map

    The identity to be used with service-side encryption at rest.

    keySource String

    The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault

    keyVaultProperties Property Map

    Properties provided by key vault.

    requireInfrastructureEncryption Boolean

    A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.

    services Property Map

    List of services which support encryption.

    EncryptionService, EncryptionServiceArgs

    Enabled bool

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    KeyType string | Pulumi.AzureNative.Storage.KeyType

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    Enabled bool

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    KeyType string | KeyType

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    enabled Boolean

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    keyType String | KeyType

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    enabled boolean

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    keyType string | KeyType

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    enabled bool

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    key_type str | KeyType

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    enabled Boolean

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    keyType String | "Service" | "Account"

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    EncryptionServiceResponse, EncryptionServiceResponseArgs

    LastEnabledTime string

    Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled.

    Enabled bool

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    KeyType string

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    LastEnabledTime string

    Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled.

    Enabled bool

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    KeyType string

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    lastEnabledTime String

    Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled.

    enabled Boolean

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    keyType String

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    lastEnabledTime string

    Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled.

    enabled boolean

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    keyType string

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    last_enabled_time str

    Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled.

    enabled bool

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    key_type str

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    lastEnabledTime String

    Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled.

    enabled Boolean

    A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled.

    keyType String

    Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.

    EncryptionServices, EncryptionServicesArgs

    Blob Pulumi.AzureNative.Storage.Inputs.EncryptionService

    The encryption function of the blob storage service.

    File Pulumi.AzureNative.Storage.Inputs.EncryptionService

    The encryption function of the file storage service.

    Queue Pulumi.AzureNative.Storage.Inputs.EncryptionService

    The encryption function of the queue storage service.

    Table Pulumi.AzureNative.Storage.Inputs.EncryptionService

    The encryption function of the table storage service.

    Blob EncryptionService

    The encryption function of the blob storage service.

    File EncryptionService

    The encryption function of the file storage service.

    Queue EncryptionService

    The encryption function of the queue storage service.

    Table EncryptionService

    The encryption function of the table storage service.

    blob EncryptionService

    The encryption function of the blob storage service.

    file EncryptionService

    The encryption function of the file storage service.

    queue EncryptionService

    The encryption function of the queue storage service.

    table EncryptionService

    The encryption function of the table storage service.

    blob EncryptionService

    The encryption function of the blob storage service.

    file EncryptionService

    The encryption function of the file storage service.

    queue EncryptionService

    The encryption function of the queue storage service.

    table EncryptionService

    The encryption function of the table storage service.

    blob EncryptionService

    The encryption function of the blob storage service.

    file EncryptionService

    The encryption function of the file storage service.

    queue EncryptionService

    The encryption function of the queue storage service.

    table EncryptionService

    The encryption function of the table storage service.

    blob Property Map

    The encryption function of the blob storage service.

    file Property Map

    The encryption function of the file storage service.

    queue Property Map

    The encryption function of the queue storage service.

    table Property Map

    The encryption function of the table storage service.

    EncryptionServicesResponse, EncryptionServicesResponseArgs

    Blob Pulumi.AzureNative.Storage.Inputs.EncryptionServiceResponse

    The encryption function of the blob storage service.

    File Pulumi.AzureNative.Storage.Inputs.EncryptionServiceResponse

    The encryption function of the file storage service.

    Queue Pulumi.AzureNative.Storage.Inputs.EncryptionServiceResponse

    The encryption function of the queue storage service.

    Table Pulumi.AzureNative.Storage.Inputs.EncryptionServiceResponse

    The encryption function of the table storage service.

    Blob EncryptionServiceResponse

    The encryption function of the blob storage service.

    File EncryptionServiceResponse

    The encryption function of the file storage service.

    Queue EncryptionServiceResponse

    The encryption function of the queue storage service.

    Table EncryptionServiceResponse

    The encryption function of the table storage service.

    blob EncryptionServiceResponse

    The encryption function of the blob storage service.

    file EncryptionServiceResponse

    The encryption function of the file storage service.

    queue EncryptionServiceResponse

    The encryption function of the queue storage service.

    table EncryptionServiceResponse

    The encryption function of the table storage service.

    blob EncryptionServiceResponse

    The encryption function of the blob storage service.

    file EncryptionServiceResponse

    The encryption function of the file storage service.

    queue EncryptionServiceResponse

    The encryption function of the queue storage service.

    table EncryptionServiceResponse

    The encryption function of the table storage service.

    blob EncryptionServiceResponse

    The encryption function of the blob storage service.

    file EncryptionServiceResponse

    The encryption function of the file storage service.

    queue EncryptionServiceResponse

    The encryption function of the queue storage service.

    table EncryptionServiceResponse

    The encryption function of the table storage service.

    blob Property Map

    The encryption function of the blob storage service.

    file Property Map

    The encryption function of the file storage service.

    queue Property Map

    The encryption function of the queue storage service.

    table Property Map

    The encryption function of the table storage service.

    EndpointsResponse, EndpointsResponseArgs

    Blob string

    Gets the blob endpoint.

    Dfs string

    Gets the dfs endpoint.

    File string

    Gets the file endpoint.

    Queue string

    Gets the queue endpoint.

    Table string

    Gets the table endpoint.

    Web string

    Gets the web endpoint.

    InternetEndpoints Pulumi.AzureNative.Storage.Inputs.StorageAccountInternetEndpointsResponse

    Gets the internet routing storage endpoints

    MicrosoftEndpoints Pulumi.AzureNative.Storage.Inputs.StorageAccountMicrosoftEndpointsResponse

    Gets the microsoft routing storage endpoints.

    Blob string

    Gets the blob endpoint.

    Dfs string

    Gets the dfs endpoint.

    File string

    Gets the file endpoint.

    Queue string

    Gets the queue endpoint.

    Table string

    Gets the table endpoint.

    Web string

    Gets the web endpoint.

    InternetEndpoints StorageAccountInternetEndpointsResponse

    Gets the internet routing storage endpoints

    MicrosoftEndpoints StorageAccountMicrosoftEndpointsResponse

    Gets the microsoft routing storage endpoints.

    blob String

    Gets the blob endpoint.

    dfs String

    Gets the dfs endpoint.

    file String

    Gets the file endpoint.

    queue String

    Gets the queue endpoint.

    table String

    Gets the table endpoint.

    web String

    Gets the web endpoint.

    internetEndpoints StorageAccountInternetEndpointsResponse

    Gets the internet routing storage endpoints

    microsoftEndpoints StorageAccountMicrosoftEndpointsResponse

    Gets the microsoft routing storage endpoints.

    blob string

    Gets the blob endpoint.

    dfs string

    Gets the dfs endpoint.

    file string

    Gets the file endpoint.

    queue string

    Gets the queue endpoint.

    table string

    Gets the table endpoint.

    web string

    Gets the web endpoint.

    internetEndpoints StorageAccountInternetEndpointsResponse

    Gets the internet routing storage endpoints

    microsoftEndpoints StorageAccountMicrosoftEndpointsResponse

    Gets the microsoft routing storage endpoints.

    blob str

    Gets the blob endpoint.

    dfs str

    Gets the dfs endpoint.

    file str

    Gets the file endpoint.

    queue str

    Gets the queue endpoint.

    table str

    Gets the table endpoint.

    web str

    Gets the web endpoint.

    internet_endpoints StorageAccountInternetEndpointsResponse

    Gets the internet routing storage endpoints

    microsoft_endpoints StorageAccountMicrosoftEndpointsResponse

    Gets the microsoft routing storage endpoints.

    blob String

    Gets the blob endpoint.

    dfs String

    Gets the dfs endpoint.

    file String

    Gets the file endpoint.

    queue String

    Gets the queue endpoint.

    table String

    Gets the table endpoint.

    web String

    Gets the web endpoint.

    internetEndpoints Property Map

    Gets the internet routing storage endpoints

    microsoftEndpoints Property Map

    Gets the microsoft routing storage endpoints.

    ExpirationAction, ExpirationActionArgs

    Log
    Log
    ExpirationActionLog
    Log
    Log
    Log
    Log
    Log
    LOG
    Log
    "Log"
    Log

    ExtendedLocation, ExtendedLocationArgs

    Name string

    The name of the extended location.

    Type string | Pulumi.AzureNative.Storage.ExtendedLocationTypes

    The type of the extended location.

    Name string

    The name of the extended location.

    Type string | ExtendedLocationTypes

    The type of the extended location.

    name String

    The name of the extended location.

    type String | ExtendedLocationTypes

    The type of the extended location.

    name string

    The name of the extended location.

    type string | ExtendedLocationTypes

    The type of the extended location.

    name str

    The name of the extended location.

    type str | ExtendedLocationTypes

    The type of the extended location.

    name String

    The name of the extended location.

    type String | "EdgeZone"

    The type of the extended location.

    ExtendedLocationResponse, ExtendedLocationResponseArgs

    Name string

    The name of the extended location.

    Type string

    The type of the extended location.

    Name string

    The name of the extended location.

    Type string

    The type of the extended location.

    name String

    The name of the extended location.

    type String

    The type of the extended location.

    name string

    The name of the extended location.

    type string

    The type of the extended location.

    name str

    The name of the extended location.

    type str

    The type of the extended location.

    name String

    The name of the extended location.

    type String

    The type of the extended location.

    ExtendedLocationTypes, ExtendedLocationTypesArgs

    EdgeZone
    EdgeZone
    ExtendedLocationTypesEdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EDGE_ZONE
    EdgeZone
    "EdgeZone"
    EdgeZone

    GeoReplicationStatsResponse, GeoReplicationStatsResponseArgs

    CanFailover bool

    A boolean flag which indicates whether or not account failover is supported for the account.

    LastSyncTime string

    All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap.

    Status string

    The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.

    CanFailover bool

    A boolean flag which indicates whether or not account failover is supported for the account.

    LastSyncTime string

    All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap.

    Status string

    The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.

    canFailover Boolean

    A boolean flag which indicates whether or not account failover is supported for the account.

    lastSyncTime String

    All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap.

    status String

    The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.

    canFailover boolean

    A boolean flag which indicates whether or not account failover is supported for the account.

    lastSyncTime string

    All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap.

    status string

    The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.

    can_failover bool

    A boolean flag which indicates whether or not account failover is supported for the account.

    last_sync_time str

    All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap.

    status str

    The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.

    canFailover Boolean

    A boolean flag which indicates whether or not account failover is supported for the account.

    lastSyncTime String

    All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap.

    status String

    The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.

    IPRule, IPRuleArgs

    IPAddressOrRange string

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    Action Pulumi.AzureNative.Storage.Action

    The action of IP ACL rule.

    IPAddressOrRange string

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    Action Action

    The action of IP ACL rule.

    iPAddressOrRange String

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action Action

    The action of IP ACL rule.

    iPAddressOrRange string

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action Action

    The action of IP ACL rule.

    i_p_address_or_range str

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action Action

    The action of IP ACL rule.

    iPAddressOrRange String

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action "Allow"

    The action of IP ACL rule.

    IPRuleResponse, IPRuleResponseArgs

    IPAddressOrRange string

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    Action string

    The action of IP ACL rule.

    IPAddressOrRange string

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    Action string

    The action of IP ACL rule.

    iPAddressOrRange String

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action String

    The action of IP ACL rule.

    iPAddressOrRange string

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action string

    The action of IP ACL rule.

    i_p_address_or_range str

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action str

    The action of IP ACL rule.

    iPAddressOrRange String

    Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.

    action String

    The action of IP ACL rule.

    Identity, IdentityArgs

    Type string | Pulumi.AzureNative.Storage.IdentityType

    The identity type.

    UserAssignedIdentities List<string>

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    Type string | IdentityType

    The identity type.

    UserAssignedIdentities []string

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    type String | IdentityType

    The identity type.

    userAssignedIdentities List<String>

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    type string | IdentityType

    The identity type.

    userAssignedIdentities string[]

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    type str | IdentityType

    The identity type.

    user_assigned_identities Sequence[str]

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    type String | "None" | "SystemAssigned" | "UserAssigned" | "SystemAssigned,UserAssigned"

    The identity type.

    userAssignedIdentities List<String>

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    IdentityResponse, IdentityResponseArgs

    PrincipalId string

    The principal ID of resource identity.

    TenantId string

    The tenant ID of resource.

    Type string

    The identity type.

    UserAssignedIdentities Dictionary<string, Pulumi.AzureNative.Storage.Inputs.UserAssignedIdentityResponse>

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    PrincipalId string

    The principal ID of resource identity.

    TenantId string

    The tenant ID of resource.

    Type string

    The identity type.

    UserAssignedIdentities map[string]UserAssignedIdentityResponse

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    principalId String

    The principal ID of resource identity.

    tenantId String

    The tenant ID of resource.

    type String

    The identity type.

    userAssignedIdentities Map<String,UserAssignedIdentityResponse>

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    principalId string

    The principal ID of resource identity.

    tenantId string

    The tenant ID of resource.

    type string

    The identity type.

    userAssignedIdentities {[key: string]: UserAssignedIdentityResponse}

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    principal_id str

    The principal ID of resource identity.

    tenant_id str

    The tenant ID of resource.

    type str

    The identity type.

    user_assigned_identities Mapping[str, UserAssignedIdentityResponse]

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    principalId String

    The principal ID of resource identity.

    tenantId String

    The tenant ID of resource.

    type String

    The identity type.

    userAssignedIdentities Map<Property Map>

    Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.

    IdentityType, IdentityTypeArgs

    None
    None
    SystemAssigned
    SystemAssigned
    UserAssigned
    UserAssigned
    SystemAssigned_UserAssigned
    SystemAssigned,UserAssigned
    IdentityTypeNone
    None
    IdentityTypeSystemAssigned
    SystemAssigned
    IdentityTypeUserAssigned
    UserAssigned
    IdentityType_SystemAssigned_UserAssigned
    SystemAssigned,UserAssigned
    None
    None
    SystemAssigned
    SystemAssigned
    UserAssigned
    UserAssigned
    SystemAssigned_UserAssigned
    SystemAssigned,UserAssigned
    None
    None
    SystemAssigned
    SystemAssigned
    UserAssigned
    UserAssigned
    SystemAssigned_UserAssigned
    SystemAssigned,UserAssigned
    NONE
    None
    SYSTEM_ASSIGNED
    SystemAssigned
    USER_ASSIGNED
    UserAssigned
    SYSTEM_ASSIGNED_USER_ASSIGNED
    SystemAssigned,UserAssigned
    "None"
    None
    "SystemAssigned"
    SystemAssigned
    "UserAssigned"
    UserAssigned
    "SystemAssigned,UserAssigned"
    SystemAssigned,UserAssigned

    ImmutableStorageAccount, ImmutableStorageAccountArgs

    Enabled bool

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    ImmutabilityPolicy Pulumi.AzureNative.Storage.Inputs.AccountImmutabilityPolicyProperties

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    Enabled bool

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    ImmutabilityPolicy AccountImmutabilityPolicyProperties

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled Boolean

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutabilityPolicy AccountImmutabilityPolicyProperties

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled boolean

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutabilityPolicy AccountImmutabilityPolicyProperties

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled bool

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutability_policy AccountImmutabilityPolicyProperties

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled Boolean

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutabilityPolicy Property Map

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    ImmutableStorageAccountResponse, ImmutableStorageAccountResponseArgs

    Enabled bool

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    ImmutabilityPolicy Pulumi.AzureNative.Storage.Inputs.AccountImmutabilityPolicyPropertiesResponse

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    Enabled bool

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    ImmutabilityPolicy AccountImmutabilityPolicyPropertiesResponse

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled Boolean

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutabilityPolicy AccountImmutabilityPolicyPropertiesResponse

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled boolean

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutabilityPolicy AccountImmutabilityPolicyPropertiesResponse

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled bool

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutability_policy AccountImmutabilityPolicyPropertiesResponse

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    enabled Boolean

    A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default.

    immutabilityPolicy Property Map

    Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy.

    KeyCreationTimeResponse, KeyCreationTimeResponseArgs

    Key1 string
    Key2 string
    Key1 string
    Key2 string
    key1 String
    key2 String
    key1 string
    key2 string
    key1 str
    key2 str
    key1 String
    key2 String

    KeyPolicy, KeyPolicyArgs

    KeyExpirationPeriodInDays int

    The key expiration period in days.

    KeyExpirationPeriodInDays int

    The key expiration period in days.

    keyExpirationPeriodInDays Integer

    The key expiration period in days.

    keyExpirationPeriodInDays number

    The key expiration period in days.

    key_expiration_period_in_days int

    The key expiration period in days.

    keyExpirationPeriodInDays Number

    The key expiration period in days.

    KeyPolicyResponse, KeyPolicyResponseArgs

    KeyExpirationPeriodInDays int

    The key expiration period in days.

    KeyExpirationPeriodInDays int

    The key expiration period in days.

    keyExpirationPeriodInDays Integer

    The key expiration period in days.

    keyExpirationPeriodInDays number

    The key expiration period in days.

    key_expiration_period_in_days int

    The key expiration period in days.

    keyExpirationPeriodInDays Number

    The key expiration period in days.

    KeySource, KeySourceArgs

    Microsoft_Storage
    Microsoft.Storage
    Microsoft_Keyvault
    Microsoft.Keyvault
    KeySource_Microsoft_Storage
    Microsoft.Storage
    KeySource_Microsoft_Keyvault
    Microsoft.Keyvault
    Microsoft_Storage
    Microsoft.Storage
    Microsoft_Keyvault
    Microsoft.Keyvault
    Microsoft_Storage
    Microsoft.Storage
    Microsoft_Keyvault
    Microsoft.Keyvault
    MICROSOFT_STORAGE
    Microsoft.Storage
    MICROSOFT_KEYVAULT
    Microsoft.Keyvault
    "Microsoft.Storage"
    Microsoft.Storage
    "Microsoft.Keyvault"
    Microsoft.Keyvault

    KeyType, KeyTypeArgs

    Service
    Service
    Account
    Account
    KeyTypeService
    Service
    KeyTypeAccount
    Account
    Service
    Service
    Account
    Account
    Service
    Service
    Account
    Account
    SERVICE
    Service
    ACCOUNT
    Account
    "Service"
    Service
    "Account"
    Account

    KeyVaultProperties, KeyVaultPropertiesArgs

    KeyName string

    The name of KeyVault key.

    KeyVaultUri string

    The Uri of KeyVault.

    KeyVersion string

    The version of KeyVault key.

    KeyName string

    The name of KeyVault key.

    KeyVaultUri string

    The Uri of KeyVault.

    KeyVersion string

    The version of KeyVault key.

    keyName String

    The name of KeyVault key.

    keyVaultUri String

    The Uri of KeyVault.

    keyVersion String

    The version of KeyVault key.

    keyName string

    The name of KeyVault key.

    keyVaultUri string

    The Uri of KeyVault.

    keyVersion string

    The version of KeyVault key.

    key_name str

    The name of KeyVault key.

    key_vault_uri str

    The Uri of KeyVault.

    key_version str

    The version of KeyVault key.

    keyName String

    The name of KeyVault key.

    keyVaultUri String

    The Uri of KeyVault.

    keyVersion String

    The version of KeyVault key.

    KeyVaultPropertiesResponse, KeyVaultPropertiesResponseArgs

    CurrentVersionedKeyExpirationTimestamp string

    This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.

    CurrentVersionedKeyIdentifier string

    The object identifier of the current versioned Key Vault Key in use.

    LastKeyRotationTimestamp string

    Timestamp of last rotation of the Key Vault Key.

    KeyName string

    The name of KeyVault key.

    KeyVaultUri string

    The Uri of KeyVault.

    KeyVersion string

    The version of KeyVault key.

    CurrentVersionedKeyExpirationTimestamp string

    This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.

    CurrentVersionedKeyIdentifier string

    The object identifier of the current versioned Key Vault Key in use.

    LastKeyRotationTimestamp string

    Timestamp of last rotation of the Key Vault Key.

    KeyName string

    The name of KeyVault key.

    KeyVaultUri string

    The Uri of KeyVault.

    KeyVersion string

    The version of KeyVault key.

    currentVersionedKeyExpirationTimestamp String

    This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.

    currentVersionedKeyIdentifier String

    The object identifier of the current versioned Key Vault Key in use.

    lastKeyRotationTimestamp String

    Timestamp of last rotation of the Key Vault Key.

    keyName String

    The name of KeyVault key.

    keyVaultUri String

    The Uri of KeyVault.

    keyVersion String

    The version of KeyVault key.

    currentVersionedKeyExpirationTimestamp string

    This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.

    currentVersionedKeyIdentifier string

    The object identifier of the current versioned Key Vault Key in use.

    lastKeyRotationTimestamp string

    Timestamp of last rotation of the Key Vault Key.

    keyName string

    The name of KeyVault key.

    keyVaultUri string

    The Uri of KeyVault.

    keyVersion string

    The version of KeyVault key.

    current_versioned_key_expiration_timestamp str

    This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.

    current_versioned_key_identifier str

    The object identifier of the current versioned Key Vault Key in use.

    last_key_rotation_timestamp str

    Timestamp of last rotation of the Key Vault Key.

    key_name str

    The name of KeyVault key.

    key_vault_uri str

    The Uri of KeyVault.

    key_version str

    The version of KeyVault key.

    currentVersionedKeyExpirationTimestamp String

    This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.

    currentVersionedKeyIdentifier String

    The object identifier of the current versioned Key Vault Key in use.

    lastKeyRotationTimestamp String

    Timestamp of last rotation of the Key Vault Key.

    keyName String

    The name of KeyVault key.

    keyVaultUri String

    The Uri of KeyVault.

    keyVersion String

    The version of KeyVault key.

    Kind, KindArgs

    Storage
    Storage
    StorageV2
    StorageV2
    BlobStorage
    BlobStorage
    FileStorage
    FileStorage
    BlockBlobStorage
    BlockBlobStorage
    KindStorage
    Storage
    KindStorageV2
    StorageV2
    KindBlobStorage
    BlobStorage
    KindFileStorage
    FileStorage
    KindBlockBlobStorage
    BlockBlobStorage
    Storage
    Storage
    StorageV2
    StorageV2
    BlobStorage
    BlobStorage
    FileStorage
    FileStorage
    BlockBlobStorage
    BlockBlobStorage
    Storage
    Storage
    StorageV2
    StorageV2
    BlobStorage
    BlobStorage
    FileStorage
    FileStorage
    BlockBlobStorage
    BlockBlobStorage
    STORAGE
    Storage
    STORAGE_V2
    StorageV2
    BLOB_STORAGE
    BlobStorage
    FILE_STORAGE
    FileStorage
    BLOCK_BLOB_STORAGE
    BlockBlobStorage
    "Storage"
    Storage
    "StorageV2"
    StorageV2
    "BlobStorage"
    BlobStorage
    "FileStorage"
    FileStorage
    "BlockBlobStorage"
    BlockBlobStorage

    LargeFileSharesState, LargeFileShar