From 12c81ed32ee19120cfb38431e6c5f620262f592d Mon Sep 17 00:00:00 2001 From: Vini Soto <18271663+vinisoto@users.noreply.github.com> Date: Fri, 4 Sep 2020 10:51:14 -0700 Subject: [PATCH 1/2] Adding support for Premium V3 tier --- .../Cmdlets/AppServicePlans/NewAzureAppServicePlan.cs | 9 +++++---- .../Cmdlets/AppServicePlans/SetAzureAppServicePlan.cs | 4 ++-- src/Websites/Websites/Utilities/CmdletHelpers.cs | 10 ++++++++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/Websites/Websites/Cmdlets/AppServicePlans/NewAzureAppServicePlan.cs b/src/Websites/Websites/Cmdlets/AppServicePlans/NewAzureAppServicePlan.cs index 4200c6f1ba8c..69fdceebb0c2 100644 --- a/src/Websites/Websites/Cmdlets/AppServicePlans/NewAzureAppServicePlan.cs +++ b/src/Websites/Websites/Cmdlets/AppServicePlans/NewAzureAppServicePlan.cs @@ -35,8 +35,8 @@ public class NewAzureAppServicePlanCmdlet : AppServicePlanBaseCmdlet [ValidateNotNullOrEmpty] public string Location { get; set; } - [Parameter(Position = 3, Mandatory = false, HelpMessage = "The App Service plan tier. Allowed values are [Free|Shared|Basic|Standard|Premium|PremiumV2]")] - [PSArgumentCompleter("Free", "Shared", "Basic", "Standard", "Premium", "PremiumV2", "Isolated", "PremiumContainer")] + [Parameter(Position = 3, Mandatory = false, HelpMessage = "The App Service plan tier. Allowed values are [Free|Shared|Basic|Standard|Premium|PremiumV2|PremiumV3]")] + [PSArgumentCompleter("Free", "Shared", "Basic", "Standard", "Premium", "PremiumV2", "PremiumV3", "Isolated", "PremiumContainer")] public string Tier { get; set; } [Parameter(Position = 4, Mandatory = false, HelpMessage = "Number of Workers to be allocated.")] @@ -73,9 +73,10 @@ public class NewAzureAppServicePlanCmdlet : AppServicePlanBaseCmdlet public override void ExecuteCmdlet() { - if (HyperV.IsPresent && Tier != "PremiumContainer") + if (HyperV.IsPresent && + (Tier != "PremiumContainer" && Tier != "PremiumV3")) { - throw new Exception("HyperV switch is only allowed for PremiumContainer tier"); + throw new Exception("HyperV switch is only allowed for PremiumContainer or PremiumV3 tiers"); } if (!HyperV.IsPresent && Tier == "PremiumContainer") { diff --git a/src/Websites/Websites/Cmdlets/AppServicePlans/SetAzureAppServicePlan.cs b/src/Websites/Websites/Cmdlets/AppServicePlans/SetAzureAppServicePlan.cs index bea9fb46e1f6..6c3963580c15 100644 --- a/src/Websites/Websites/Cmdlets/AppServicePlans/SetAzureAppServicePlan.cs +++ b/src/Websites/Websites/Cmdlets/AppServicePlans/SetAzureAppServicePlan.cs @@ -33,8 +33,8 @@ public class SetAzureAppServicePlanCmdlet : AppServicePlanBaseCmdlet [ValidateNotNullOrEmpty] public string AdminSiteName { get; set; } - [Parameter(ParameterSetName = ParameterSet1Name, Position = 3, Mandatory = false, HelpMessage = "The App Service plan tier. Allowed values are [Free|Shared|Basic|Standard|Premium|PremiumV2]")] - [PSArgumentCompleter("Free", "Shared", "Basic", "Standard", "Premium", "PremiumV2", "Isolated")] + [Parameter(ParameterSetName = ParameterSet1Name, Position = 3, Mandatory = false, HelpMessage = "The App Service plan tier. Allowed values are [Free|Shared|Basic|Standard|Premium|PremiumV2|PremiumV3]")] + [PSArgumentCompleter("Free", "Shared", "Basic", "Standard", "Premium", "PremiumV2", "PremiumV3", "Isolated")] public string Tier { get; set; } [Parameter(ParameterSetName = ParameterSet1Name, Position = 4, Mandatory = false, HelpMessage = "Number of Workers to be allocated.")] diff --git a/src/Websites/Websites/Utilities/CmdletHelpers.cs b/src/Websites/Websites/Utilities/CmdletHelpers.cs index 2d58eda99445..15cfd4addca1 100644 --- a/src/Websites/Websites/Utilities/CmdletHelpers.cs +++ b/src/Websites/Websites/Utilities/CmdletHelpers.cs @@ -287,6 +287,11 @@ internal static string GetSkuName(string tier, int workerSize) sku = "P" + workerSize + "V2"; return sku; } + else if (string.Equals("PremiumV3", tier, StringComparison.OrdinalIgnoreCase)) + { + sku = "P" + workerSize + "V3"; + return sku; + } else if (string.Equals("PremiumContainer", tier, StringComparison.OrdinalIgnoreCase)) { sku = "PC" + (workerSize + 1); @@ -313,6 +318,11 @@ internal static string GetSkuName(string tier, string workerSize) sku = "P" + WorkerSizes[workerSize] + "V2"; return sku; } + else if (string.Equals("PremiumV3", tier, StringComparison.OrdinalIgnoreCase)) + { + sku = "P" + WorkerSizes[workerSize] + "V3"; + return sku; + } else if (string.Equals("PremiumContainer", tier, StringComparison.OrdinalIgnoreCase)) { sku = "PC" + (WorkerSizes[workerSize] + 1); From d43001f05c8697467bddaab56621f37be6836f03 Mon Sep 17 00:00:00 2001 From: Vini Soto <18271663+vinisoto@users.noreply.github.com> Date: Fri, 4 Sep 2020 11:16:45 -0700 Subject: [PATCH 2/2] Updating change log --- src/Websites/Websites/ChangeLog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Websites/Websites/ChangeLog.md b/src/Websites/Websites/ChangeLog.md index 7a0621fa5f3c..3b034a6dc443 100644 --- a/src/Websites/Websites/ChangeLog.md +++ b/src/Websites/Websites/ChangeLog.md @@ -18,6 +18,7 @@ - Additional information about change #1 --> ## Upcoming Release +* Added support for Premium V3 pricing tier ## Version 1.11.0 * Added support to perform operations for Slots not in the same resource group as the App Service Plan