@@ -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
19842010def 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