pulumi/tests/testdata/codegen/azure-sa-pp/go/azure-sa.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
})
}