From 105e5e50fe7cf70b438e0b62dc4d11619c870d4f Mon Sep 17 00:00:00 2001 From: william051200 Date: Tue, 10 Mar 2026 14:54:23 +0800 Subject: [PATCH 1/2] Migrate network module --- .../azure/cli/command_modules/network/custom.py | 16 ++++++++++++++++ .../network/operations/watcher.py | 14 +++++++------- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/network/custom.py b/src/azure-cli/azure/cli/command_modules/network/custom.py index 2813ad8cd04..6f57364cffc 100644 --- a/src/azure-cli/azure/cli/command_modules/network/custom.py +++ b/src/azure-cli/azure/cli/command_modules/network/custom.py @@ -6756,3 +6756,19 @@ def create_ddos_custom_policy(cmd, ddos_custom_policy_name, resource_group_name, policy['no_wait'] = no_wait return DdosCustomPolicyCreate(cli_ctx=cmd.cli_ctx)(command_args=policy) + + +def get_vm(cli_ctx, resource_group_name, vm_name): + from ..vm.operations.vm import VMShow + return VMShow(cli_ctx=cli_ctx)(command_args={ + 'resource_group': resource_group_name, + 'vm_name': vm_name + }) + + +def get_vmss(cli_ctx, resource_group_name, vmss_name): + from ..vm.operations.vmss import VMSSShow + return VMSSShow(cli_ctx=cli_ctx)(command_args={ + 'resource_group': resource_group_name, + 'vm_scale_set_name': vmss_name + }) diff --git a/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py b/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py index d30644852ca..851af3346d7 100644 --- a/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py +++ b/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py @@ -72,10 +72,10 @@ def get_network_watcher_from_location(cmd, watcher_name="watcher_name", rg_name= def get_network_watcher_from_vm(cmd): + from ..custom import get_vm args = cmd.ctx.args - compute_client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_COMPUTE).virtual_machines vm_name = parse_resource_id(args.vm.to_serialized_data())["name"] - vm = compute_client.get(args.resource_group_name, vm_name) + vm = get_vm(cmd.cli_ctx, args.resource_group_name, vm_name) args.location = vm.location get_network_watcher_from_location(cmd) @@ -88,10 +88,10 @@ def get_network_watcher_from_resource(cmd): def get_network_watcher_from_vmss(cmd): + from ..custom import get_vmss args = cmd.ctx.args - compute_client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_COMPUTE).virtual_machine_scale_sets vmss_name = parse_resource_id(args.target.to_serialized_data())["name"] - vmss = compute_client.get(args.resource_group_name, vmss_name) + vmss = get_vmss(cmd.cli_ctx, args.resource_group_name, vmss_name) args.location = vmss.location get_network_watcher_from_location(cmd) @@ -387,16 +387,16 @@ def _build_arguments_schema(cls, *args, **kwargs): return args_schema def pre_operations(self): + from ..custom import get_vm args = self.ctx.args - compute_client = get_mgmt_service_client(self.cli_ctx, ResourceType.MGMT_COMPUTE).virtual_machines id_parts = parse_resource_id(args.source_resource.to_serialized_data()) vm_name = id_parts["name"] rg = args.resource_group_name or id_parts.get("resource_group", None) if not rg: raise ValidationError("usage error: --source-resource ID | --source-resource NAME --resource-group NAME") - vm = compute_client.get(rg, vm_name) - args.location = vm.location + vm = get_vm(self.cli_ctx, rg, vm_name) + args.location = vm.get('location') get_network_watcher_from_location(self) if has_value(args.source_resource) and not is_valid_resource_id(args.source_resource.to_serialized_data()): From 437dcc957459c56b5b9f225774895cac2c47600a Mon Sep 17 00:00:00 2001 From: william051200 Date: Thu, 12 Mar 2026 09:19:19 +0800 Subject: [PATCH 2/2] Update code --- .../azure/cli/command_modules/network/operations/watcher.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py b/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py index 851af3346d7..1b425687f7b 100644 --- a/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py +++ b/src/azure-cli/azure/cli/command_modules/network/operations/watcher.py @@ -76,7 +76,7 @@ def get_network_watcher_from_vm(cmd): args = cmd.ctx.args vm_name = parse_resource_id(args.vm.to_serialized_data())["name"] vm = get_vm(cmd.cli_ctx, args.resource_group_name, vm_name) - args.location = vm.location + args.location = vm.get('location') get_network_watcher_from_location(cmd) @@ -92,7 +92,7 @@ def get_network_watcher_from_vmss(cmd): args = cmd.ctx.args vmss_name = parse_resource_id(args.target.to_serialized_data())["name"] vmss = get_vmss(cmd.cli_ctx, args.resource_group_name, vmss_name) - args.location = vmss.location + args.location = vmss.get('location') get_network_watcher_from_location(cmd)