{App Service} Upgrade Microsoft.Web to v2025-05-01#33341
Conversation
❌AzureCLI-FullTest
|
❌AzureCLI-BreakingChangeTest
Please submit your Breaking Change Pre-announcement ASAP if you haven't already. Please note:
|
|
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
3a526eb to
1f4f7fb
Compare
|
@yanzhudd - please review this PR as we have 3 more PRs coming soon which are dependent on this one. Thank you! |
There was a problem hiding this comment.
Pull request overview
This PR upgrades the App Service management SDK used by Azure CLI to align with Microsoft.Web API version 2025-05-01 (via azure-mgmt-web==11.0.0) and adapts the appservice command module code + tests to the new SDK’s model/serialization behavior.
Changes:
- Bump
azure-mgmt-webdependency to11.0.0across setup and OS-specific pinned requirement files. - Update
appservicemodule implementation to handle new SDK model shapes (hybrid dict/model access, camelCase keys, properties wrappers, serialization expectations). - Update/adjust scenario tests, mock tests, and recordings to match new SDK responses and request payloads.
Reviewed changes
Copilot reviewed 42 out of 225 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| src/azure-cli/setup.py | Bumps azure-mgmt-web pinned dependency to 11.0.0. |
| src/azure-cli/requirements.py3.windows.txt | Updates pinned azure-mgmt-web version for Windows. |
| src/azure-cli/requirements.py3.Linux.txt | Updates pinned azure-mgmt-web version for Linux. |
| src/azure-cli/requirements.py3.Darwin.txt | Updates pinned azure-mgmt-web version for macOS. |
| src/azure-cli-core/azure/cli/core/profiles/_shared.py | Stops forcing a versioned App Service SDK path (uses unversioned azure.mgmt.web). |
| src/azure-cli/azure/cli/command_modules/appservice/utils.py | Adds helper(s) for serverFarmId access; adjusts outbound IP de-dupe; changes additional-properties helper behavior. |
| src/azure-cli/azure/cli/command_modules/appservice/custom.py | Broad compatibility updates for SDK 11 models, properties wrappers, serialization, raw-request API version plumbing, and multiple command behaviors. |
| src/azure-cli/azure/cli/command_modules/appservice/static_sites.py | Updates model name used for user-assigned identity values. |
| src/azure-cli/azure/cli/command_modules/appservice/appservice_domains.py | Switches to cmd.get_models for TopLevelDomainAgreementOption. |
| src/azure-cli/azure/cli/command_modules/appservice/access_restrictions.py | Uses as_dict() instead of serialize() for restriction rules. |
| src/azure-cli/azure/cli/command_modules/appservice/_validators.py | Updates name-availability calls and serverFarmId access to match SDK 11 patterns. |
| src/azure-cli/azure/cli/command_modules/appservice/_deployment_context_engine.py | Uses new serverFarmId accessor for plan SKU lookup. |
| src/azure-cli/azure/cli/command_modules/appservice/_create_util.py | Updates name-availability request payloads to use ResourceNameAvailabilityRequest. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py | Updates assertions and scenario behavior (including some runtime expectations). |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py | Updates mocked model construction and platformReleaseChannel assertions. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_functionapp_commands.py | Updates runtime expectations and several scenario behaviors; adds multiple live_only markings. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_functionapp_commands_thru_mock.py | Fixes patch target for _get_location_from_webapp. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_staticapp_commands.py | Adds live_only to static app scenario tests and imports decorator. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_staticapp_commands_thru_mock.py | Updates identity model and API key reset payload expectations. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_logicapp_commands.py | Marks multiple logic app scenario test classes as live_only. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_appservice_plan_managedinstance_commands.py | Marks managed instance plan scenario tests as live_only. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_app_service_environment_commands_thru_mock.py | Updates ASE networking config model usage to new SDK shape. |
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/*.yaml | Refreshes multiple recordings for new API version and request/response shapes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @live_only() | ||
| class StaticAppBasicE2ETest(ScenarioTest): |
| DEFAULT_LOCATION = "westus" | ||
|
|
||
| @live_only() | ||
| class LogicappBasicE2ETest(ScenarioTest): | ||
| @ResourceGroupPreparer(location=DEFAULT_LOCATION) | ||
| def test_logicapp_e2e(self, resource_group): |
| class WebappNetworkConnectionTests(ScenarioTest): | ||
| @live_only() | ||
| @AllowLargeResponse() | ||
| @ResourceGroupPreparer(location=WINDOWS_ASP_LOCATION_WEBAPP) | ||
| def test_webapp_hybridconnectionE2E(self, resource_group): |
| with self.assertRaises(ValidationError): | ||
| self.cmd('functionapp create -g {} -n {} -s {} -p {} --functions-version 4 --vnet {} --subnet {} --configure-networking-later'.format(resource_group, functionapp_name, storage_account, ep_plan_name, vnet_name, subnet_name)) | ||
|
|
||
| @live_only() | ||
| @ResourceGroupPreparer(location=WINDOWS_ASP_LOCATION_FUNCTIONAPP) | ||
| def test_functionapp_create_elastic_premium_zone_redundant_plan(self, resource_group): | ||
| ep_plan_name = self.create_random_name('epplan', 24) |
| MANAGED_INSTANCE_LOCATION = 'eastus2euap' | ||
|
|
||
|
|
||
| @live_only() | ||
| class AppServicePlanManagedInstanceTest(ScenarioTest): | ||
|
|
1f4f7fb to
f71b339
Compare
|
/azp run |
|
Commenter does not have sufficient privileges for PR 33341 in repo Azure/azure-cli |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Related command
Description
Testing Guide
History Notes
Upgrade Microsoft.Web to v2025-05-01
This checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.