Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 7 additions & 21 deletions src/azure-cli/azure/cli/command_modules/vm/_validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
from azure.cli.core import keys
from azure.core.exceptions import ResourceNotFoundError

from ._client_factory import _compute_client_factory
from ._actions import _get_latest_image_version_by_aaz


Expand Down Expand Up @@ -2147,9 +2146,9 @@ def process_snapshot_create_namespace(cmd, namespace):
from azure.cli.core.util import parse_proxy_resource_id
result = parse_proxy_resource_id(namespace.source_disk or namespace.source_snapshot)
try:
source_info, _ = _get_disk_or_snapshot_info(cmd.cli_ctx,
result['resource_group'],
result['name'])
source_info, _ = _get_disk_or_snapshot_info_by_aaz(cmd.cli_ctx,
result['resource_group'],
result['name'])
except Exception: # pylint: disable=broad-except
Comment on lines 2148 to 2152
# There's a chance that the source doesn't exist, eg, vmss os disk.
# You can get the id of vmss os disk by
Expand All @@ -2161,7 +2160,7 @@ def process_snapshot_create_namespace(cmd, namespace):
get_default_location_from_resource_group(cmd, namespace)
# if the source location differs from target location, then it's copy_start scenario
if namespace.incremental:
namespace.copy_start = source_info.location != namespace.location
namespace.copy_start = source_info.get('location') != namespace.location
except HttpResponseError:
raise ArgumentUsageError(usage_error)

Expand Down Expand Up @@ -2231,11 +2230,11 @@ def _figure_out_storage_source(cli_ctx, resource_group_name, source):
elif '/restorepoints/' in source.lower():
source_restore_point = source
else:
source_info, is_snapshot = _get_disk_or_snapshot_info(cli_ctx, resource_group_name, source)
source_info, is_snapshot = _get_disk_or_snapshot_info_by_aaz(cli_ctx, resource_group_name, source)
if is_snapshot:
source_snapshot = source_info.id
source_snapshot = source_info.get('id')
else:
source_disk = source_info.id
source_disk = source_info.get('id')

return (source_blob_uri, source_disk, source_snapshot, source_restore_point, source_info)

Expand Down Expand Up @@ -2264,19 +2263,6 @@ def _figure_out_storage_source_by_aaz(cli_ctx, resource_group_name, source):
return (source_blob_uri, source_disk, source_snapshot, source_restore_point, source_info)


def _get_disk_or_snapshot_info(cli_ctx, resource_group_name, source):
compute_client = _compute_client_factory(cli_ctx)
is_snapshot = True

try:
info = compute_client.snapshots.get(resource_group_name, source)
except ResourceNotFoundError:
is_snapshot = False
info = compute_client.disks.get(resource_group_name, source)

return info, is_snapshot


def _get_disk_or_snapshot_info_by_aaz(cli_ctx, resource_group_name, source):
from .aaz.latest.snapshot import Show as SnapshotShow
from .aaz.latest.disk import Show as DiskShow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_completion_percent1_000001/providers/Microsoft.Compute/snapshots/disk1?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/snapshots/disk1?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/disk1''
Expand Down Expand Up @@ -243,7 +243,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_completion_percent1_000001/providers/Microsoft.Compute/disks/disk1?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/disks/disk1?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"disk1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/disks/disk1\",\r\n
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -810,7 +810,7 @@ interactions:
User-Agent:
- AZURECLI/2.77.0 azsdk-python-core/1.35.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/clitest.rg000001/providers/Microsoft.Compute/snapshots/disk000003?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/snapshots/disk000003?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/disk000003''
Expand Down Expand Up @@ -858,7 +858,7 @@ interactions:
User-Agent:
- AZURECLI/2.77.0 azsdk-python-core/1.35.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/clitest.rg000001/providers/Microsoft.Compute/disks/disk000003?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/disks/disk000003?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"disk000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/disks/disk000003\",\r\n
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_disk_snapshot_hyper_v_generation_default_to_null000001/providers/Microsoft.Compute/snapshots/disk000002?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_disk_snapshot_hyper_v_generation_default_to_null000001/providers/Microsoft.Compute/snapshots/disk000002?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/disk000002''
Expand Down Expand Up @@ -289,7 +289,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_disk_snapshot_hyper_v_generation_default_to_null000001/providers/Microsoft.Compute/disks/disk000002?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_disk_snapshot_hyper_v_generation_default_to_null000001/providers/Microsoft.Compute/disks/disk000002?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"disk000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_disk_snapshot_hyper_v_generation_default_to_null000001/providers/Microsoft.Compute/disks/disk000002\",\r\n
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5367,7 +5367,7 @@ interactions:
User-Agent:
- AZURECLI/2.80.0 azsdk-python-core/1.35.0 Python/3.11.9 (Windows-10-10.0.26200-SP0)
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/snapshots/d1?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/snapshots/d1?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/d1''
Expand Down Expand Up @@ -5415,7 +5415,7 @@ interactions:
User-Agent:
- AZURECLI/2.80.0 azsdk-python-core/1.35.0 Python/3.11.9 (Windows-10-10.0.26200-SP0)
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/disks/d1?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/disks/d1?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"d1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/disks/d1\",\r\n
Expand Down Expand Up @@ -5741,7 +5741,7 @@ interactions:
User-Agent:
- AZURECLI/2.80.0 azsdk-python-core/1.35.0 Python/3.11.9 (Windows-10-10.0.26200-SP0)
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/snapshots/d2?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/snapshots/d2?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/d2''
Expand Down Expand Up @@ -5789,7 +5789,7 @@ interactions:
User-Agent:
- AZURECLI/2.80.0 azsdk-python-core/1.35.0 Python/3.11.9 (Windows-10-10.0.26200-SP0)
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/disks/d2?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/disks/d2?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"d2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhd000001/providers/Microsoft.Compute/disks/d2\",\r\n
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1119,7 +1119,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_gallery_specialized_000001/providers/Microsoft.Compute/snapshots/d1?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/snapshots/d1?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/d1''
Expand Down Expand Up @@ -1167,7 +1167,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_gallery_specialized_000001/providers/Microsoft.Compute/disks/d1?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/disks/d1?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"d1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/disks/d1\",\r\n
Expand Down Expand Up @@ -1453,7 +1453,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_gallery_specialized_000001/providers/Microsoft.Compute/snapshots/d2?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/snapshots/d2?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/d2''
Expand Down Expand Up @@ -1497,7 +1497,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_gallery_specialized_000001/providers/Microsoft.Compute/disks/d2?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/disks/d2?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"d2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/disks/d2\",\r\n
Expand Down Expand Up @@ -1776,7 +1776,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_gallery_specialized_000001/providers/Microsoft.Compute/snapshots/d3?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/snapshots/d3?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/d3''
Expand Down Expand Up @@ -1820,7 +1820,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_gallery_specialized_000001/providers/Microsoft.Compute/disks/d3?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/disks/d3?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"d3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_specialized_000001/providers/Microsoft.Compute/disks/d3\",\r\n
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_completion_percent1_000001/providers/Microsoft.Compute/snapshots/disk000002?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/snapshots/disk000002?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/disk000002''
Expand Down Expand Up @@ -289,7 +289,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_completion_percent1_000001/providers/Microsoft.Compute/disks/disk000002?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/disks/disk000002?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"disk000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/disks/disk000002\",\r\n
Expand Down Expand Up @@ -578,7 +578,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_completion_percent1_000001/providers/Microsoft.Compute/snapshots/snap000003?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/snapshots/snap000003?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"snap000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_completion_percent1_000001/providers/Microsoft.Compute/snapshots/snap000003\",\r\n
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_snapshot_ultra_ssd000001/providers/Microsoft.Compute/snapshots/disk000002?api-version=2023-10-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_snapshot_ultra_ssd000001/providers/Microsoft.Compute/snapshots/disk000002?api-version=2025-01-02
response:
body:
string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Compute/snapshots/disk000002''
Expand Down Expand Up @@ -290,7 +290,7 @@ interactions:
User-Agent:
- AZURECLI/2.76.0 azsdk-python-core/1.35.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_snapshot_ultra_ssd000001/providers/Microsoft.Compute/disks/disk000002?api-version=2023-04-02
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_snapshot_ultra_ssd000001/providers/Microsoft.Compute/disks/disk000002?api-version=2025-01-02
response:
body:
string: "{\r\n \"name\": \"disk000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_snapshot_ultra_ssd000001/providers/Microsoft.Compute/disks/disk000002\",\r\n
Expand Down
Loading
Loading