mirror of https://github.com/pulumi/pulumi.git
50 lines
1.7 KiB
Go
50 lines
1.7 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
|
|
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
|
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
|
|
)
|
|
|
|
func main() {
|
|
pulumi.Run(func(ctx *pulumi.Context) error {
|
|
cfg := config.New(ctx, "")
|
|
// The name of the storage account
|
|
storageAccountNameParam := cfg.Require("storageAccountNameParam")
|
|
// The name of the resource group
|
|
resourceGroupNameParam := cfg.Require("resourceGroupNameParam")
|
|
resourceGroupVar, err := core.LookupResourceGroup(ctx, &core.LookupResourceGroupArgs{
|
|
Name: resourceGroupNameParam,
|
|
}, nil)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
locationParam := resourceGroupVar.Location
|
|
if param := cfg.Get("locationParam"); param != "" {
|
|
locationParam = param
|
|
}
|
|
storageAccountTierParam := "Standard"
|
|
if param := cfg.Get("storageAccountTierParam"); param != "" {
|
|
storageAccountTierParam = param
|
|
}
|
|
storageAccountTypeReplicationParam := "LRS"
|
|
if param := cfg.Get("storageAccountTypeReplicationParam"); param != "" {
|
|
storageAccountTypeReplicationParam = param
|
|
}
|
|
storageAccountResource, err := storage.NewAccount(ctx, "storageAccountResource", &storage.AccountArgs{
|
|
Name: pulumi.String(storageAccountNameParam),
|
|
AccountKind: pulumi.String("StorageV2"),
|
|
Location: pulumi.String(locationParam),
|
|
ResourceGroupName: pulumi.String(resourceGroupNameParam),
|
|
AccountTier: pulumi.String(storageAccountTierParam),
|
|
AccountReplicationType: pulumi.String(storageAccountTypeReplicationParam),
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
ctx.Export("storageAccountNameOut", storageAccountResource.Name)
|
|
return nil
|
|
})
|
|
}
|