diff --git a/Portal/src/Datahub.Portal/Pages/Workspace/Toolbox/ConfigurationForms/PostgresConfigurationForm.razor b/Portal/src/Datahub.Portal/Pages/Workspace/Toolbox/ConfigurationForms/PostgresConfigurationForm.razor new file mode 100644 index 000000000..a95f75056 --- /dev/null +++ b/Portal/src/Datahub.Portal/Pages/Workspace/Toolbox/ConfigurationForms/PostgresConfigurationForm.razor @@ -0,0 +1,41 @@ +@using Datahub.Shared.Entities +@using Datahub.Portal.Pages.Account + + + + @foreach (var tier in AvailableTiers) + { + + @TierLabel(tier.PSQL_SKU) + + } + + + + +@code { + [Parameter] public PostgresConfiguration Configuration { get; set; } + + private List AvailableTiers { get; set; } + private PostgresTier DefaultTier => AvailableTiers.First(t => t.PSQL_SKU == "B_Standard_B1ms"); + + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + AvailableTiers = PostgresTier.GetPostgresTiers().Where(t => t.IsAvailable).ToList(); + Configuration.PSQL_SKU ??= DefaultTier.PSQL_SKU; + } + + private string TierLabel(string sku) + { + var skuTier = AvailableTiers.FirstOrDefault(t => t.PSQL_SKU == sku); + if (skuTier == null) + { + return sku; + } + + return Localizer["{0} - {1} vCores, {2} RAM, {3}", skuTier.SKUName, skuTier.Cores, skuTier.MemorySize, skuTier.Cost]; + } + +} \ No newline at end of file