using Pulumi; using Azure = Pulumi.Azure; class MyStack : Stack { public MyStack() { var config = new Config(); var storageAccountNameParam = config.Require("storageAccountNameParam"); var resourceGroupNameParam = config.Require("resourceGroupNameParam"); var resourceGroupVar = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs { Name = resourceGroupNameParam, })); var locationParam = Output.Create(config.Get("locationParam")) ?? resourceGroupVar.Apply(resourceGroupVar => resourceGroupVar.Location); var storageAccountTierParam = config.Get("storageAccountTierParam") ?? "Standard"; var storageAccountTypeReplicationParam = config.Get("storageAccountTypeReplicationParam") ?? "LRS"; var storageAccountResource = new Azure.Storage.Account("storageAccountResource", new Azure.Storage.AccountArgs { Name = storageAccountNameParam, AccountKind = "StorageV2", Location = locationParam, ResourceGroupName = resourceGroupNameParam, AccountTier = storageAccountTierParam, AccountReplicationType = storageAccountTypeReplicationParam, }); this.StorageAccountNameOut = storageAccountResource.Name; } [Output("storageAccountNameOut")] public Output StorageAccountNameOut { get; set; } }