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..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 @@ -72,11 +72,11 @@ 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) - args.location = vm.location + vm = get_vm(cmd.cli_ctx, args.resource_group_name, vm_name) + args.location = vm.get('location') get_network_watcher_from_location(cmd) @@ -88,11 +88,11 @@ 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) - args.location = vmss.location + vmss = get_vmss(cmd.cli_ctx, args.resource_group_name, vmss_name) + args.location = vmss.get('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()): diff --git a/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture.yaml b/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture.yaml index 7545f3aebe0..8a3832b2837 100644 --- a/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture.yaml +++ b/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture.yaml @@ -10951,7 +10951,7 @@ interactions: User-Agent: - AZURECLI/2.74.0 azsdk-python-core/1.31.0 Python/3.12.10 (Windows-11-10.0.26100-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n @@ -11301,7 +11301,7 @@ interactions: User-Agent: - AZURECLI/2.74.0 azsdk-python-core/1.31.0 Python/3.12.10 (Windows-11-10.0.26100-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n diff --git a/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture_vmss_as_target.yaml b/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture_vmss_as_target.yaml index 60fd3dd710d..026a88546a1 100644 --- a/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture_vmss_as_target.yaml +++ b/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_packet_capture_vmss_as_target.yaml @@ -5525,7 +5525,7 @@ interactions: - AZURECLI/2.53.0 azsdk-python-azure-mgmt-compute/30.2.0 Python/3.10.13 (Linux-5.15.0-1046-azure-x86_64-with-glibc2.31) VSTS_7b238909-6802-4b65-b90d-184bca47f458_build_220_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vmssForPcap\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap\",\r\n @@ -5883,7 +5883,7 @@ interactions: - AZURECLI/2.53.0 azsdk-python-azure-mgmt-compute/30.2.0 Python/3.10.13 (Linux-5.15.0-1046-azure-x86_64-with-glibc2.31) VSTS_7b238909-6802-4b65-b90d-184bca47f458_build_220_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vmssForPcap\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap\",\r\n @@ -6243,7 +6243,7 @@ interactions: - AZURECLI/2.53.0 azsdk-python-azure-mgmt-compute/30.2.0 Python/3.10.13 (Linux-5.15.0-1046-azure-x86_64-with-glibc2.31) VSTS_7b238909-6802-4b65-b90d-184bca47f458_build_220_0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vmssForPcap\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_packet_capture_vmss_as_target000001/providers/Microsoft.Compute/virtualMachineScaleSets/vmssForPcap\",\r\n diff --git a/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_vm.yaml b/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_vm.yaml index d015a7a5986..0477032843d 100644 --- a/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_vm.yaml +++ b/src/azure-cli/azure/cli/command_modules/network/tests/latest/recordings/test_network_watcher_vm.yaml @@ -10965,7 +10965,7 @@ interactions: User-Agent: - AZURECLI/2.71.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n @@ -12888,7 +12888,7 @@ interactions: User-Agent: - AZURECLI/2.71.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n @@ -13209,7 +13209,7 @@ interactions: User-Agent: - AZURECLI/2.71.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n @@ -13530,7 +13530,7 @@ interactions: User-Agent: - AZURECLI/2.71.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n @@ -13855,7 +13855,7 @@ interactions: User-Agent: - AZURECLI/2.71.0 azsdk-python-core/1.31.0 Python/3.10.11 (Windows-10-10.0.26100-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2024-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2025-04-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_nw_vm000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n