Skip to content

Commit 5338eac

Browse files
committed
Migrated create_snapshot validator
1 parent 33c7060 commit 5338eac

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

src/azure-cli/azure/cli/command_modules/vm/_validators.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1980,6 +1980,32 @@ def _validate_gallery_image_reference(cmd, namespace):
19801980
'compute, shared or community gallery image version. For details about valid '
19811981
'format, please refer to the help sample'.format(gallery_image_reference))
19821982

1983+
def _validate_gallery_image_reference_by_aaz(cmd, namespace):
1984+
is_validate = 'gallery_image_reference' in namespace and namespace.gallery_image_reference is not None
1985+
1986+
if not is_validate:
1987+
return
1988+
1989+
from azure.cli.command_modules.vm._image_builder import GalleryImageReferenceType
1990+
from ._vm_utils import is_compute_gallery_image_id, is_community_gallery_image_id, \
1991+
is_shared_gallery_image_id
1992+
1993+
gallery_image_reference = namespace.gallery_image_reference
1994+
if is_compute_gallery_image_id(gallery_image_reference):
1995+
namespace.gallery_image_reference_type = GalleryImageReferenceType.COMPUTE.backend_key
1996+
return
1997+
if is_community_gallery_image_id(gallery_image_reference):
1998+
namespace.gallery_image_reference_type = GalleryImageReferenceType.COMMUNITY.backend_key
1999+
return
2000+
if is_shared_gallery_image_id(gallery_image_reference):
2001+
namespace.gallery_image_reference_type = GalleryImageReferenceType.SHARED.backend_key
2002+
return
2003+
2004+
from azure.cli.core.parser import InvalidArgumentValueError
2005+
raise InvalidArgumentValueError('usage error: {} is an invalid gallery image reference, please provide valid '
2006+
'compute, shared or community gallery image version. For details about valid '
2007+
'format, please refer to the help sample'.format(gallery_image_reference))
2008+
19832009

19842010
def process_disk_create_namespace(cmd, namespace):
19852011
from azure.core.exceptions import HttpResponseError
@@ -2069,7 +2095,7 @@ def process_snapshot_create_namespace(cmd, namespace):
20692095
from azure.core.exceptions import HttpResponseError
20702096
validate_tags(namespace)
20712097
validate_edge_zone(cmd, namespace)
2072-
_validate_gallery_image_reference(cmd, namespace)
2098+
_validate_gallery_image_reference_by_aaz(cmd, namespace)
20732099
if namespace.source:
20742100
usage_error = 'usage error: --source {SNAPSHOT | DISK} | --source VHD_BLOB_URI [--source-storage-account-id ID]'
20752101
try:

0 commit comments

Comments
 (0)