Support Isolated v4 App Service Plan SKUs - #30005
Open
Jordan Selig (seligj95) wants to merge 2 commits into
Open
Support Isolated v4 App Service Plan SKUs#30005Jordan Selig (seligj95) wants to merge 2 commits into
Jordan Selig (seligj95) wants to merge 2 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds Websites module support for the App Service Environment (ASE) Isolated v4 SKUs by generating correct ARM SKU names for create/update flows, updating cmdlet parameter completion/help, and introducing focused regression coverage for SKU model generation.
Changes:
- Extend SKU name generation to support
IsolatedV4(I1V4–I6V4) andIsolatedMV4(I1MV4–I5MV4) and normalize the tier for memory-optimized v4. - Refactor App Service Plan create/update paths to use shared SKU construction/update helpers.
- Add regression tests for SKU tier/name generation behavior and update user-facing help/changelog.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Websites/Websites/Utilities/CmdletHelpers.cs | Adds Isolated v4 SKU name handling plus helper methods to normalize tier and update/create SkuDescription. |
| src/Websites/Websites/help/Set-AzAppServicePlan.md | Updates examples and parameter help text for the new Isolated v4 tiers/worker sizes. |
| src/Websites/Websites/help/New-AzAppServicePlan.md | Adds new examples and updates parameter help/accepted values for Isolated v4 tiers and worker sizes. |
| src/Websites/Websites/Cmdlets/AppServicePlans/SetAzureAppServicePlan.cs | Uses centralized SKU update helper during plan updates and updates argument completion/help. |
| src/Websites/Websites/Cmdlets/AppServicePlans/NewAzureAppServicePlan.cs | Uses centralized SKU creation helper and updates tier/worker-size validation metadata and HyperV messaging. |
| src/Websites/Websites/ChangeLog.md | Adds an “Upcoming Release” entry for Isolated v4 support. |
| src/Websites/Websites.Test/ScenarioTests/AppServicePlanSkuTests.cs | Adds unit-style regression tests for SKU tier/name generation and update behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.
Suppressed comments (1)
src/Websites/Websites/Cmdlets/AppServicePlans/NewAzureAppServicePlan.cs:84
- The HyperV tier gating uses case-sensitive string comparisons (e.g.,
Tier != "IsolatedV4"). SinceTieris a free-form string (noValidateSet), users can pass different casing (e.g.,isolatedv4) and incorrectly get the "HyperV switch is only allowed" exception (or skip the PremiumContainer check). Consider usingstring.Equals(..., OrdinalIgnoreCase)(and a local normalizedtiervalue) and throw an argument-focused exception type instead ofException.
if (HyperV.IsPresent &&
(Tier != "PremiumContainer" && Tier != "PremiumV3" && Tier != "IsolatedV2" && Tier != "PremiumMV3" && Tier != "IsolatedV4" && Tier != "IsolatedMV4"))
{
throw new Exception("HyperV switch is only allowed for PremiumContainer, PremiumV3, PremiumMV3, IsolatedV2, IsolatedV4, or IsolatedMV4 tiers");
}
Member
|
/azp run |
Contributor
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add Azure PowerShell support for the Isolated v4 App Service Environment SKUs documented at https://learn.microsoft.com/azure/app-service/environment/app-service-configure-isolated-v4-tier.
I1V4-I6V4andI1MV4-I5MV4inNew-AzAppServicePlanandSet-AzAppServicePlanI1Root cause
CmdletHelpers.GetSkuNameonly special-casedIsolatedV2. Passing-Tier IsolatedV4 -WorkerSize Smalltherefore producedSku.Name = I1withSku.Tier = IsolatedV4, which the service rejected as a bad request. Equivalent Bicep deployments worked because they supplied the correctI1V4SKU name directly.Testing
git diff --checkChecklist